2021-03-04 06:08:19

by Grygorii Strashko

[permalink] [raw]
Subject: Re: [PATCH] gpio: omap: Honor "aliases" node



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 <[email protected]>
> ---
> 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/[email protected]/


--
Best regards,
grygorii