mirror of https://gitee.com/openkylin/linux.git
Input: twl4030-pwrbutton - switch to using threaded IRQ
Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
This commit is contained in:
parent
3f58061d01
commit
70f9441390
|
@ -39,18 +39,8 @@ static irqreturn_t powerbutton_irq(int irq, void *_pwr)
|
|||
int err;
|
||||
u8 value;
|
||||
|
||||
#ifdef CONFIG_LOCKDEP
|
||||
/* WORKAROUND for lockdep forcing IRQF_DISABLED on us, which
|
||||
* we don't want and can't tolerate since this is a threaded
|
||||
* IRQ and can sleep due to the i2c reads it has to issue.
|
||||
* Although it might be friendlier not to borrow this thread
|
||||
* context...
|
||||
*/
|
||||
local_irq_enable();
|
||||
#endif
|
||||
|
||||
err = twl_i2c_read_u8(TWL4030_MODULE_PM_MASTER, &value,
|
||||
STS_HW_CONDITIONS);
|
||||
STS_HW_CONDITIONS);
|
||||
if (!err) {
|
||||
input_report_key(pwr, KEY_POWER, value & PWR_PWRON_IRQ);
|
||||
input_sync(pwr);
|
||||
|
@ -80,7 +70,7 @@ static int __devinit twl4030_pwrbutton_probe(struct platform_device *pdev)
|
|||
pwr->phys = "twl4030_pwrbutton/input0";
|
||||
pwr->dev.parent = &pdev->dev;
|
||||
|
||||
err = request_irq(irq, powerbutton_irq,
|
||||
err = request_threaded_irq(irq, NULL, powerbutton_irq,
|
||||
IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING,
|
||||
"twl4030_pwrbutton", pwr);
|
||||
if (err < 0) {
|
||||
|
|
Loading…
Reference in New Issue