Re: [PATCH v4 0/6] Add support for software nodes to gpiolib

From: Bartosz Golaszewski
Date: Tue Nov 15 2022 - 05:28:43 EST


On Fri, Nov 11, 2022 at 11:19 PM Dmitry Torokhov
<dmitry.torokhov@xxxxxxxxx> wrote:
>
> This series attempts to add support for software nodes to gpiolib, using
> software node references. This allows us to convert more drivers to the
> generic device properties and drop support for custom platform data.
>
> To describe a GPIO via software nodes we can create the following data
> items:
>
> /* Node representing the GPIO controller/GPIO bank */
> static const struct software_node gpio_bank_b_node = {
> .name = "B",
> };
>
> /*
> * Properties that will be assigned to a software node assigned to
> * the device that used platform data.
> */
> 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),
> { }
> };
>
> The code in gpiolib handling software nodes uses the name in the
> software node representing GPIO controller to locate the actual instance
> of GPIO controller.
>
> To: Linus Walleij <linus.walleij@xxxxxxxxxx>
> To: Bartosz Golaszewski <brgl@xxxxxxxx>
> To: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> Cc: linux-gpio@xxxxxxxxxxxxxxx
> Cc: linux-kernel@xxxxxxxxxxxxxxx
> Cc: linux-acpi@xxxxxxxxxxxxxxx
>
> ---
> Changes in v4:
> - Rebased on top of next-20221111
> - Added Andy's reviewed-by for patch #6
> - Link to v3: https://lore.kernel.org/r/20221031-gpiolib-swnode-v3-0-0282162b0fa4@xxxxxxxxx
>
> Changes in v3:
> - Addressed more Andy's comments
> - Link to v2: https://lore.kernel.org/r/20221031-gpiolib-swnode-v2-0-81f55af5fa0e@xxxxxxxxx
>
> Changes in v2:
> - reworked the series to be independent of other in-flight patches.
> That meant keeping devm_gpiod_get_from_of_node() for now.
> - removed handling of secondary nodes, it deserves a separate patch
> series
> - fixed refcounting when handling swnodes (Andy)
> - added include/linux/gpio/property.h with PROPERTY_ENTRY_GPIO (Andy)
> - addressed most of the rest of Andy's comments
> - collected reviewed-by and acked-by
> - Link to v1: https://lore.kernel.org/r/20221031-gpiolib-swnode-v1-0-a0ab48d229c7@xxxxxxxxx
>
> ---
> Dmitry Torokhov (6):
> gpiolib: of: change of_find_gpio() to accept device node
> gpiolib: acpi: change acpi_find_gpio() to accept firmware node
> gpiolib: acpi: teach acpi_find_gpio() to handle data-only nodes
> gpiolib: acpi: avoid leaking ACPI details into upper gpiolib layers
> gpiolib: consolidate GPIO lookups
> gpiolib: add support for software nodes
>
> drivers/gpio/Makefile | 1 +
> drivers/gpio/gpiolib-acpi.c | 132 +++++++++++++++-----------
> drivers/gpio/gpiolib-acpi.h | 54 +----------
> drivers/gpio/gpiolib-of.c | 7 +-
> drivers/gpio/gpiolib-of.h | 4 +-
> drivers/gpio/gpiolib-swnode.c | 123 +++++++++++++++++++++++++
> drivers/gpio/gpiolib-swnode.h | 14 +++
> drivers/gpio/gpiolib.c | 209 ++++++++++++++++--------------------------
> include/linux/gpio/property.h | 11 +++
> 9 files changed, 315 insertions(+), 240 deletions(-)
> ---
> base-commit: f8f60f322f0640c8edda2942ca5f84b7a27c417a
> change-id: 20221031-gpiolib-swnode-948203f49b23
>
> --
> Dmitry
>

I still had some fuzz when applying, can you for the future rebase on
top of the GPIO for-next branch?

Anyway: series applied.

Bart