mbox series

[0/3] gpio_keys from machine desc tables

Message ID 20180906075902.31240-1-linus.walleij@linaro.org (mailing list archive)
Headers show
Series gpio_keys from machine desc tables | expand

Message

Linus Walleij Sept. 6, 2018, 7:58 a.m. UTC
This patch series builds on an idea from Dmitry to make
devm_fwnode_get_gpiod_from_child() provide GPIO descriptors
even from board look-up tables and thus make the API
more helpful for consumers, gpio_keys in particular.

We need to change the gpio_keys to always try fwnode first
of course, but apart from that no changes are needed in
gpio_keys.

Using this we can convert users over to use machine
descriptor tables and eventually drop the use of the old
GPIO API from gpio_keys, and consequently remove
.gpio and .active_low from struct gpio_keys_button
altogether. But that would be for the next kernel
iterations and can be done step-wise.

I also include a patch illustrating how this will look
in a boardfile, by adding keys to a platform that has
no DT or ACPI support. (Just an illustration.)

Linus Walleij (3):
  gpio: fwnode: Obtains descs from machine tables
  Input: gpio_keys - always try fwnode first
  RFC: ARM: simone: Hacked in keys

 arch/arm/mach-ep93xx/simone.c      | 50 ++++++++++++++++++++++++++++++
 drivers/gpio/devres.c              |  4 +--
 drivers/gpio/gpiolib.c             | 47 ++++++++++++++++++++--------
 drivers/input/keyboard/gpio_keys.c | 47 ++++++++++++++++------------
 include/linux/gpio/consumer.h      | 19 +++++++++---
 5 files changed, 129 insertions(+), 38 deletions(-)