From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: Russell King <rmk+kernel@armlinux.org.uk>
Cc: linux-input@vger.kernel.org
Subject: Re: [PATCH 1/4] Input: jornada720_kbd - switch to devm_* APIs
Date: Wed, 7 Sep 2016 19:24:17 -0700 [thread overview]
Message-ID: <20160908022417.GE6445@dtor-ws> (raw)
In-Reply-To: <E1bhZVY-0005cT-0G@rmk-PC.armlinux.org.uk>
Hi Russell,
On Wed, Sep 07, 2016 at 10:51:04AM +0100, Russell King wrote:
> Switch the jornada720_kbd driver to use the devm_* APIs. This is in
> preparation to removing the mach/irqs.h include from this driver.
I already applied a version of this driver (without extraneous irq
field and empty remove() method), why are you resending it?
Thanks.
>
> Tested-by: Adam Wysocki <armlinux@chmurka.net>
> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
> ---
> drivers/input/keyboard/jornada720_kbd.c | 38 ++++++++-------------------------
> 1 file changed, 9 insertions(+), 29 deletions(-)
>
> diff --git a/drivers/input/keyboard/jornada720_kbd.c b/drivers/input/keyboard/jornada720_kbd.c
> index 421d9c55b0e8..4b2e9ff18ba1 100644
> --- a/drivers/input/keyboard/jornada720_kbd.c
> +++ b/drivers/input/keyboard/jornada720_kbd.c
> @@ -53,6 +53,7 @@ static unsigned short jornada_std_keymap[128] = { /* ROW */
> struct jornadakbd {
> unsigned short keymap[ARRAY_SIZE(jornada_std_keymap)];
> struct input_dev *input;
> + int irq;
> };
>
> static irqreturn_t jornada720_kbd_interrupt(int irq, void *dev_id)
> @@ -99,12 +100,10 @@ static int jornada720_kbd_probe(struct platform_device *pdev)
> struct input_dev *input_dev;
> int i, err;
>
> - jornadakbd = kzalloc(sizeof(struct jornadakbd), GFP_KERNEL);
> - input_dev = input_allocate_device();
> - if (!jornadakbd || !input_dev) {
> - err = -ENOMEM;
> - goto fail1;
> - }
> + jornadakbd = devm_kzalloc(&pdev->dev, sizeof(*jornadakbd), GFP_KERNEL);
> + input_dev = devm_input_allocate_device(&pdev->dev);
> + if (!jornadakbd || !input_dev)
> + return -ENOMEM;
>
> platform_set_drvdata(pdev, jornadakbd);
>
> @@ -127,37 +126,18 @@ static int jornada720_kbd_probe(struct platform_device *pdev)
>
> input_set_capability(input_dev, EV_MSC, MSC_SCAN);
>
> - err = request_irq(IRQ_GPIO0,
> - jornada720_kbd_interrupt,
> - IRQF_TRIGGER_FALLING,
> - "jornadakbd", pdev);
> + err = devm_request_irq(&pdev->dev, IRQ_GPIO0, jornada720_kbd_interrupt,
> + IRQF_TRIGGER_FALLING, "jornadakbd", pdev);
> if (err) {
> printk(KERN_INFO "jornadakbd720_kbd: Unable to grab IRQ\n");
> - goto fail1;
> + return err;
> }
>
> - err = input_register_device(jornadakbd->input);
> - if (err)
> - goto fail2;
> -
> - return 0;
> -
> - fail2: /* IRQ, DEVICE, MEMORY */
> - free_irq(IRQ_GPIO0, pdev);
> - fail1: /* DEVICE, MEMORY */
> - input_free_device(input_dev);
> - kfree(jornadakbd);
> - return err;
> + return input_register_device(jornadakbd->input);
> };
>
> static int jornada720_kbd_remove(struct platform_device *pdev)
> {
> - struct jornadakbd *jornadakbd = platform_get_drvdata(pdev);
> -
> - free_irq(IRQ_GPIO0, pdev);
> - input_unregister_device(jornadakbd->input);
> - kfree(jornadakbd);
> -
> return 0;
> }
>
> --
> 2.1.0
>
--
Dmitry
next prev parent reply other threads:[~2016-09-08 2:24 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-07 9:50 [PATCH 0/4] Input updates for Jornada720 Russell King - ARM Linux
2016-09-07 9:50 ` Russell King - ARM Linux
2016-09-07 9:51 ` [PATCH 1/4] Input: jornada720_kbd - switch to devm_* APIs Russell King
2016-09-08 2:24 ` Dmitry Torokhov [this message]
2016-09-07 9:51 ` [PATCH 2/4] Input: jornada720_kbd - get rid of mach/irqs.h include Russell King
2016-09-07 9:51 ` Russell King
2016-09-08 2:24 ` Dmitry Torokhov
2016-09-08 2:24 ` Dmitry Torokhov
2016-09-07 9:51 ` [PATCH 3/4] Input: jornada720_kbd - remove unneeded mach/hardware.h include Russell King
2016-09-08 2:21 ` Dmitry Torokhov
2016-09-07 9:51 ` [PATCH 4/4] Input: jornada720_ts - get rid of mach/irqs.h and mach/hardware.h includes Russell King
2016-09-07 9:51 ` Russell King
2016-09-08 2:22 ` Dmitry Torokhov
2016-09-08 2:22 ` Dmitry Torokhov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160908022417.GE6445@dtor-ws \
--to=dmitry.torokhov@gmail.com \
--cc=linux-input@vger.kernel.org \
--cc=rmk+kernel@armlinux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.