Re: [PATCH 5/6] [v5] leds: gpio: make legacy gpiolib interface optional

From: Andy Shevchenko

Date: Mon Jun 29 2026 - 11:18:15 EST


On Mon, Jun 29, 2026 at 03:03:28PM +0200, Arnd Bergmann wrote:

> There are still a handful of ancient mips/armv5/sh boards that use the
> gpio_led:gpio member to pass an old-style gpio number, but all modern
> users have been converted to gpio descriptors.
>
> While the CONFIG_GPIOLIB_LEGACY option that guards devm_gpio_request_one()
> and related helpers is currently turned on in all kernel builds,
> the plan is to only enable it on the few platforms that actually
> pass gpio numbers in any platform_data.
>
> Split out the legacy portion of the platform_data handling into a custom
> helper function that is guarded with in #ifdef block, to allow the
> the leds-gpio driver to compile cleanly when CONFIG_GPIOLIB_LEGACY
> gets turned off. Once the last user is converted, this function can
> be removed.

...

> gpiod = devm_gpiod_get_index_optional(dev, NULL, idx, GPIOD_OUT_LOW);
> - if (IS_ERR(gpiod))
> - return gpiod;

We can leave these and rather have

gpiod_set_consumer_name(gpiod, template->name);
return gpiod;

than introduce irregular pattern.

> - if (gpiod) {
> + if (!IS_ERR(gpiod))
> gpiod_set_consumer_name(gpiod, template->name);
> - return gpiod;
> - }
>
> - /*
> - * This is the legacy code path for platform code that
> - * still uses GPIO numbers. Ultimately we would like to get
> - * rid of this block completely.
> - */
> + return gpiod;
> +}

I haven't insisted on this previously as I thought that this was on track to be
applied. Since it's not (yet), please, amend the change.

--
With Best Regards,
Andy Shevchenko