Re: [PATCH v5 07/12] leds: leds-gpio: Add support for GPIO descriptors

Linus Walleij
2014-10-31T09:41:38Z

On Thu, Oct 30, 2014 at 5:15 PM, Mika Westerberg
<mika.westerberg@linux.intel.com> wrote:
> On Thu, Oct 30, 2014 at 04:40:05PM +0100, Linus Walleij wrote:
>> > Yes, I'll just let dust to settle before sending out a patch that
>> > converts the existing users of platform_gpio_blink_set() callback to
>> > gpio descriptors.
>>
>> Dust settle = 2 weeks, 18 months, 5 years?
>
> I started to do the conversion already but then noticed that it is not
> that trivial after all.

Thanks for looking into this.

> For example we have one user in arch/arm/mach-orion5x/dns323-setup.c:
>
> static struct gpio_led_platform_data dns323ab_led_data = {
> .num_leds = ARRAY_SIZE(dns323ab_leds),
> .leds = dns323ab_leds,
> .gpio_blink_set = orion_gpio_led_blink_set,
> };
>
> orion_gpio_led_blink_set() is part of orion specific custom GPIO
> "driver" defined in arch/arm/plat-orion/gpio.c and as far as I can tell
> cannot use GPIO descriptors as it directly programs these numbers to the
> hardware.
>
> We can convert the descriptor to a number in the beginning of
> orion_gpio_led_blink_set() if that helps.
>
> Other two users: rx1950_led_blink_set() and h1940_led_blink_set() seem
> to have similar needs for the numeric value.

Doing the conversion from descriptor to gpio number in the
platforms is *much desired*, because it is a nice divide-and-conquer
approach.

For example mach-orion is going to be deleted and replaced
with mach-mvebu at some time, so then part of the problem
goes away entirely.

Yours,
Linus Walleij