From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753339AbbCDXLe (ORCPT ); Wed, 4 Mar 2015 18:11:34 -0500 Received: from mail-ie0-f180.google.com ([209.85.223.180]:44871 "EHLO mail-ie0-f180.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752074AbbCDXLb (ORCPT ); Wed, 4 Mar 2015 18:11:31 -0500 Date: Wed, 4 Mar 2015 15:11:26 -0800 From: Dmitry Torokhov To: Valentin Rothberg Cc: linus.walleij@linaro.org, wsa@the-dreams.de, linux-input@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] keyboard/tc3589x-keypad.c: set IRQF_ONESHOT flag to ensure IRQ request Message-ID: <20150304231126.GE38298@dtor-ws> References: <1425309666-18289-1-git-send-email-Valentin.Rothberg@lip6.fr> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1425309666-18289-1-git-send-email-Valentin.Rothberg@lip6.fr> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 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