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(-) -- 2.17.1