lkml.org 
[lkml]   [2021]   [Mar]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] gpio: omap: Honor "aliases" node
From
Date


On 02/03/2021 03:18, Alexander Sverdlin wrote:
> Currently the naming of the GPIO chips depends on their order in the DT,
> but also on the kernel version (I've noticed the change from v5.10.x to
> v5.11). Honor the persistent enumeration in the "aliases" node like other
> GPIO drivers do.
>
> Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
> ---
> Yes, I noticed checkpatch "WARNING: DT binding docs and includes should be
> a separate patch."
> However, the parts below are tiny and barely make sense separately.
>
> Documentation/devicetree/bindings/gpio/gpio-omap.txt | 6 ++++++
> drivers/gpio/gpio-omap.c | 5 +++++
> 2 files changed, 11 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/gpio/gpio-omap.txt b/Documentation/devicetree/bindings/gpio/gpio-omap.txt
> index e57b2cb28f6c..6050db3fd84e 100644
> --- a/Documentation/devicetree/bindings/gpio/gpio-omap.txt
> +++ b/Documentation/devicetree/bindings/gpio/gpio-omap.txt
> @@ -30,9 +30,15 @@ OMAP specific properties:
> - ti,gpio-always-on: Indicates if a GPIO bank is always powered and
> so will never lose its logic state.
>
> +Note: GPIO ports can have an alias correctly numbered in "aliases" node for
> +persistent enumeration.
>
> Example:
>
> +aliases {
> + gpio0 = &gpio0;
> +};
> +
> gpio0: gpio@44e07000 {
> compatible = "ti,omap4-gpio";
> reg = <0x44e07000 0x1000>;
> diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c
> index 41952bb818ad..dd2a8f6d920f 100644
> --- a/drivers/gpio/gpio-omap.c
> +++ b/drivers/gpio/gpio-omap.c
> @@ -1014,6 +1014,11 @@ static int omap_gpio_chip_init(struct gpio_bank *bank, struct irq_chip *irqc)
> bank->chip.parent = &omap_mpuio_device.dev;
> bank->chip.base = OMAP_MPUIO(0);
> } else {
> +#ifdef CONFIG_OF_GPIO
> + ret = of_alias_get_id(bank->chip.of_node, "gpio");
> + if (ret >= 0)
> + gpio = ret * bank->width;
> +#endif
> label = devm_kasprintf(bank->chip.parent, GFP_KERNEL, "gpio-%d-%d",
> gpio, gpio + bank->width - 1);
> if (!label)
>

You're not the first one, this was not accepted. See [1]
[1] https://patchwork.kernel.org/project/linux-omap/patch/1465898604-16294-1-git-send-email-u.kleine-koenig@pengutronix.de/


--
Best regards,
grygorii

\
 
 \ /
  Last update: 2021-03-02 16:39    [W:0.099 / U:0.748 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site