Input: request threaded-only IRQs with IRQF_ONESHOT
Since commit 1c6c69525b
("genirq: Reject bogus threaded irq requests")
threaded IRQs without a primary handler need to be requested with
IRQF_ONESHOT, otherwise the request will fail. This patch adds the
IRQF_ONESHOT to input drivers where it is missing. Not modified by
this patch are those drivers where the requested IRQ will always be a
nested IRQ (e.g. because it's part of an MFD), since for this special
case IRQF_ONESHOT is not required to be specified when requesting the
IRQ.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:

committed by
Dmitry Torokhov

parent
1cecc5cc06
commit
9b7e31bbf4
@@ -227,15 +227,15 @@ static int __devinit keypad_probe(struct platform_device *pdev)
|
||||
goto error_clk;
|
||||
}
|
||||
|
||||
error = request_threaded_irq(kp->irq_press, NULL, keypad_irq, 0,
|
||||
dev_name(dev), kp);
|
||||
error = request_threaded_irq(kp->irq_press, NULL, keypad_irq,
|
||||
IRQF_ONESHOT, dev_name(dev), kp);
|
||||
if (error < 0) {
|
||||
dev_err(kp->dev, "Could not allocate keypad press key irq\n");
|
||||
goto error_irq_press;
|
||||
}
|
||||
|
||||
error = request_threaded_irq(kp->irq_release, NULL, keypad_irq, 0,
|
||||
dev_name(dev), kp);
|
||||
error = request_threaded_irq(kp->irq_release, NULL, keypad_irq,
|
||||
IRQF_ONESHOT, dev_name(dev), kp);
|
||||
if (error < 0) {
|
||||
dev_err(kp->dev, "Could not allocate keypad release key irq\n");
|
||||
goto error_irq_release;
|
||||
|
Reference in New Issue
Block a user