From: Geert Uytterhoeven <geert@linux-m68k.org>
To: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>,
Aaron Lu <aaron.lu@intel.com>,
Mika Westerberg <mika.westerberg@linux.intel.com>,
"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
Vincent Pelletier <plr.vincent@gmail.com>,
Linus Walleij <linus.walleij@linaro.org>,
Alexandre Courbot <gnurou@gmail.com>,
"linux-input@vger.kernel.org" <linux-input@vger.kernel.org>,
"linux-gpio@vger.kernel.org" <linux-gpio@vger.kernel.org>
Subject: Re: [PATCH 3/3] input: gpio_keys: Make use of the device property API
Date: Fri, 19 Feb 2016 11:46:42 +0100 [thread overview]
Message-ID: <CAMuHMdX653Zzkv3Rz3_Exibomc7cmmDyatYGNr10msMsXFNi1Q@mail.gmail.com> (raw)
In-Reply-To: <1455876982-6743-4-git-send-email-geert+renesas@glider.be>
On Fri, Feb 19, 2016 at 11:16 AM, Geert Uytterhoeven
<geert+renesas@glider.be> wrote:
> Make use of the device property API in this driver so that both OF based
> systems and ACPI based systems can use this driver.
>
> Based on commits b26d4e2283b6d9b6 ("input: gpio_keys_polled: Make use of
> device property API"), 99b4ffbd84ea4191 ("Input: gpio_keys[_polled] -
> change name of wakeup property"), and 1feb57a245a4910b ("gpio: add
> parameter to allow the use named gpios").
>
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> ---
> Tested with DT only.
> ---
> drivers/input/keyboard/gpio_keys.c | 77 +++++++++++++++-----------------------
> 1 file changed, 30 insertions(+), 47 deletions(-)
>
> diff --git a/drivers/input/keyboard/gpio_keys.c b/drivers/input/keyboard/gpio_keys.c
> index b6262d94aff19f70..5764308e3b26314a 100644
> --- a/drivers/input/keyboard/gpio_keys.c
> +++ b/drivers/input/keyboard/gpio_keys.c
> @@ -655,32 +646,29 @@ gpio_keys_get_devtree_pdata(struct platform_device *pdev)
> return ERR_PTR(-ENOMEM);
>
> pdata->buttons = (struct gpio_keys_button *)(pdata + 1);
> - pdata->nbuttons = nbuttons;
> -
> - pdata->rep = !!of_get_property(node, "autorepeat", NULL);
>
> - of_property_read_string(node, "label", &pdata->name);
> + pdata->rep = device_property_present(dev, "autorepeat");
> + device_property_read_string(dev, "label", &pdata->name);
>
> - i = 0;
> - for_each_available_child_of_node(node, pp) {
> - enum of_gpio_flags flags;
> + device_for_each_child_node(dev, child) {
> + struct gpio_desc *desc;
>
> - button = &pdata->buttons[i++];
> -
> - button->gpio = of_get_gpio_flags(pp, 0, &flags);
> - if (button->gpio < 0) {
> - error = button->gpio;
> + desc = devm_get_gpiod_from_child(dev, NULL, child);
> + if (IS_ERR(desc)) {
> + error = PTR_ERR(desc);
> if (error != -ENOENT) {
> if (error != -EPROBE_DEFER)
> dev_err(dev,
> "Failed to get gpio flags, error: %d\n",
> error);
> + fwnode_handle_put(child);
> return ERR_PTR(error);
> }
> - } else {
> - button->active_low = flags & OF_GPIO_ACTIVE_LOW;
> }
>
> + button = &pdata->buttons[pdata->nbuttons++];
> + button->gpiod = desc;
> +
> button->irq = platform_get_irq(pdev, 0);
>
> if (!gpio_is_valid(button->gpio) && button->irq < 0) {
Woops, I missed to convert one check. The above line should become:
if (IS_ERR(button->gpiod) && button->irq < 0) {
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
next prev parent reply other threads:[~2016-02-19 10:46 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-19 10:16 [PATCH 0/3] input: gpio_keys: Convert to GPIO descriptors Geert Uytterhoeven
2016-02-19 10:16 ` [PATCH 1/3] input: gpio_keys: Add support for " Geert Uytterhoeven
2016-02-19 10:16 ` [PATCH 2/3] input: gpio_keys: Switch from irq_of_parse_and_map() to platform_get_irq() Geert Uytterhoeven
2016-02-23 19:35 ` Dmitry Torokhov
2016-02-19 10:16 ` [PATCH 3/3] input: gpio_keys: Make use of the device property API Geert Uytterhoeven
2016-02-19 10:46 ` Geert Uytterhoeven [this message]
2016-02-22 19:58 ` Dmitry Torokhov
2016-02-23 7:29 ` Mika Westerberg
2016-02-23 17:54 ` Dmitry Torokhov
2016-02-28 2:03 ` sergk sergk2mail
2016-02-29 8:17 ` Mika Westerberg
2016-02-29 16:24 ` sergk sergk2mail
2016-03-01 7:52 ` Mika Westerberg
2016-03-09 3:36 ` Linus Walleij
2016-03-09 8:36 ` Mika Westerberg
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=CAMuHMdX653Zzkv3Rz3_Exibomc7cmmDyatYGNr10msMsXFNi1Q@mail.gmail.com \
--to=geert@linux-m68k.org \
--cc=aaron.lu@intel.com \
--cc=dmitry.torokhov@gmail.com \
--cc=geert+renesas@glider.be \
--cc=gnurou@gmail.com \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=mika.westerberg@linux.intel.com \
--cc=plr.vincent@gmail.com \
--cc=rafael.j.wysocki@intel.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).