On Thu, Apr 30, 2015 at 08:45:40PM +0000, Fang, Yang A wrote:
ts3a227e_interrupt,
IRQF_TRIGGER_LOW |
IRQF_ONESHOT,
if (ret) { dev_err(dev, "Cannot request irq %d (%d)\n", i2c->irq, ret);ts3a227e->pdata.irqflag, "TS3A227E", ts3a227e);
This doesn't make much sense to me - no change is made to the configuration of the device, the driver just passes the flag through to the interrupt controller code. I can't see how that's going to work well, somewhere along the line something must be misconfigured.
My intention is to make irqflag configurable. I made them two patches. Patch 3/4 to make sure existing code no impact. 4/4 is set different Irq value via DMI for specific platform. Maybe I should squash them?
No, you're missing the point - if you're changing the flags for the interrupt without also reconfiguring the hardware there's a bug. This seems like it's what Dylan identified with missing interrupts, it sounds like the device is always level triggered.