[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMRc=McPxk_SPybakAsfJB0RRjSSByEbPY+rk=M63b+i3pBnuA@mail.gmail.com>
Date: Fri, 4 Nov 2022 16:50:09 +0100
From: Bartosz Golaszewski <brgl@...ev.pl>
To: Dmitry Torokhov <dmitry.torokhov@...il.com>
Cc: Linus Walleij <linus.walleij@...aro.org>,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
linux-acpi@...r.kernel.org, linux-gpio@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 0/6] Add support for software nodes to gpiolib
On Fri, Nov 4, 2022 at 7:10 AM Dmitry Torokhov
<dmitry.torokhov@...il.com> 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 devicei 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.
>
> Note that kbuild robot is likely to complain about this patchset because
> it depends on patches removing [devm_]gpiod_get_from_of_node() and
> devm_fwnode_get_[index_]gpiod_from_child() APIs that are still pending.
> I pushed them to
>
> git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git tmp-gpiolib
>
> for your reference.
>
> To: Linus Walleij <linus.walleij@...aro.org>
> To: Bartosz Golaszewski <brgl@...ev.pl>
> To: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
> Cc: linux-gpio@...r.kernel.org
> Cc: linux-kernel@...r.kernel.org
> Cc: linux-acpi@...r.kernel.org
>
> ---
> 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 | 52 +--------
> drivers/gpio/gpiolib-of.h | 16 +--
> drivers/gpio/gpiolib-swnode.c | 106 +++++++++++++++++++
> drivers/gpio/gpiolib-swnode.h | 13 +++
> drivers/gpio/gpiolib.c | 239 ++++++++++++++++++++----------------------
> 8 files changed, 316 insertions(+), 297 deletions(-)
> ---
> base-commit: dc04f5ab1b1114aa19b9026f816fc01ca9c9941d
> change-id: 20221031-gpiolib-swnode-948203f49b23
>
> --
> Dmitry
>
This is great work. I'll wait for Andy to Ack the ACPI patches and
let's get it in.
Bartosz
Powered by blists - more mailing lists