Re: [PATCH] keyboard/tc3589x-keypad.c: set IRQF_ONESHOT flag to ensure IRQ request

From: Dmitry Torokhov
Date: Wed Mar 04 2015 - 18:11:38 EST


On Mon, Mar 02, 2015 at 04:21:06PM +0100, Valentin Rothberg wrote:
> Since commit 1c6c69525b40eb76de8adf039409722015927dc3 ("genirq: Reject
> bogus threaded irq requests") threaded IRQs without a primary handler
> need to be requested with IRQF_ONESHOT, otherwise the request will fail.
>
> Currently, plat->irqtype is only set to IRQF_TRIGGER_FALLING. This
> patch sets the ONESHOT flag directly in request_threaded_irq() to
> enforce the flag without being affected by future changes to
> plat->irqtype.
>
> Generated by: scripts/coccinelle/misc/irqf_oneshot.cocci
>
> Signed-off-by: Valentin Rothberg <Valentin.Rothberg@xxxxxxx>

Applied, thank you.

> ---
> drivers/input/keyboard/tc3589x-keypad.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/input/keyboard/tc3589x-keypad.c b/drivers/input/keyboard/tc3589x-keypad.c
> index 8ff612d..5639325 100644
> --- a/drivers/input/keyboard/tc3589x-keypad.c
> +++ b/drivers/input/keyboard/tc3589x-keypad.c
> @@ -411,9 +411,9 @@ static int tc3589x_keypad_probe(struct platform_device *pdev)
>
> input_set_drvdata(input, keypad);
>
> - error = request_threaded_irq(irq, NULL,
> - tc3589x_keypad_irq, plat->irqtype,
> - "tc3589x-keypad", keypad);
> + error = request_threaded_irq(irq, NULL, tc3589x_keypad_irq,
> + plat->irqtype | IRQF_ONESHOT,
> + "tc3589x-keypad", keypad);
> if (error < 0) {
> dev_err(&pdev->dev,
> "Could not allocate irq %d,error %d\n",
> --
> 1.9.1
>

--
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/