Re: [PATCH 00/11] Add support for software nodes to gpiolib

From: Andy Shevchenko
Date: Wed Sep 11 2019 - 13:14:07 EST


On Wed, Sep 11, 2019 at 12:52:04AM -0700, Dmitry Torokhov wrote:
> This series attempts to add support for software nodes to gpiolib, using
> software node references that were introduced recently. This allows us
> to convert more drivers to the generic device properties and drop
> support for custom platform data:
>
> static const struct software_node gpio_bank_b_node = {
> |-------.name = "B",
> };
>
> static const struct property_entry simone_key_enter_props[] = {
> |-------PROPERTY_ENTRY_U32("linux,code", KEY_ENTER),
> |-------PROPERTY_ENTRY_STRING("label", "enter"),
> |-------PROPERTY_ENTRY_REF("gpios", &gpio_bank_b_node, 123, GPIO_ACTIVE_LOW),
> |-------{ }
> };
>
> If we agree in principle, I would like to have the very first 3 patches
> in an immutable branch off maybe -rc8 so that it can be pulled into
> individual subsystems so that patches switching various drivers to
> fwnode_gpiod_get_index() could be applied.

FWIW,
Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>

for patches 1-8 after addressing minor issues.
I'll review the rest later on.

>
> Thanks,
> Dmitry
>
> Dmitry Torokhov (11):
> gpiolib: of: add a fallback for wlf,reset GPIO name
> gpiolib: introduce devm_fwnode_gpiod_get_index()
> gpiolib: introduce fwnode_gpiod_get_index()
> net: phylink: switch to using fwnode_gpiod_get_index()
> net: mdio: switch to using fwnode_gpiod_get_index()
> drm/bridge: ti-tfp410: switch to using fwnode_gpiod_get_index()
> gpliolib: make fwnode_get_named_gpiod() static
> gpiolib: of: tease apart of_find_gpio()
> gpiolib: of: tease apart acpi_find_gpio()
> gpiolib: consolidate fwnode GPIO lookups
> gpiolib: add support for software nodes
>
> drivers/gpio/Makefile | 1 +
> drivers/gpio/gpiolib-acpi.c | 153 ++++++++++++++----------
> drivers/gpio/gpiolib-acpi.h | 21 ++--
> drivers/gpio/gpiolib-devres.c | 33 ++----
> drivers/gpio/gpiolib-of.c | 159 ++++++++++++++-----------
> drivers/gpio/gpiolib-of.h | 26 ++--
> drivers/gpio/gpiolib-swnode.c | 92 +++++++++++++++
> drivers/gpio/gpiolib-swnode.h | 13 ++
> drivers/gpio/gpiolib.c | 184 ++++++++++++++++-------------
> drivers/gpu/drm/bridge/ti-tfp410.c | 4 +-
> drivers/net/phy/mdio_bus.c | 4 +-
> drivers/net/phy/phylink.c | 4 +-
> include/linux/gpio/consumer.h | 53 ++++++---
> 13 files changed, 471 insertions(+), 276 deletions(-)
> create mode 100644 drivers/gpio/gpiolib-swnode.c
> create mode 100644 drivers/gpio/gpiolib-swnode.h
>
> --
> 2.23.0.162.g0b9fbb3734-goog
>

--
With Best Regards,
Andy Shevchenko