[PATCH RFC v4 2/6] ARM: pxa: Convert Spitz LEDs to GPIO descriptors

Bartosz Golaszewski brgl at bgdev.pl
Mon Oct 2 00:36:16 PDT 2023


On Sun, Oct 1, 2023 at 4:35 PM Andy Shevchenko
<andy.shevchenko at gmail.com> wrote:
>
> On Sun, Oct 1, 2023 at 5:13 PM Duje Mihanović <duje.mihanovic at skole.hr> wrote:
> >
> > Sharp's Spitz board still uses the legacy GPIO interface for configuring
> > its two onboard LEDs.
> >
> > Convert them to use the GPIO descriptor interface.
>
> ...
>
> >  static void __init spitz_leds_init(void)
> >  {
> > +       gpiod_add_lookup_table(&spitz_led_gpio_table);
> >         platform_device_register(&spitz_led_device);
> > +       spitz_gpio_leds[0].gpiod = gpiod_get_index(&spitz_led_device.dev,
> > +                       NULL, 0, GPIOD_ASIS);
> > +       spitz_gpio_leds[1].gpiod = gpiod_get_index(&spitz_led_device.dev,
> > +                       NULL, 1, GPIOD_ASIS);
> >  }
>
> What's the point of keeping a lookup table after we got descriptors out of it?
>

Normally the descriptors would be retrieved in drivers and so lookup
tables should stay in memory forever as static resources (just like
device-tree). We have recently added some "temporary" lookup tables to
address even worse hacks. The tables would be removed immediately
after the descriptor is retrieved simply because we used that hack in
drivers which may be unbound and re-bound resulting in adding
repeating lookup entries.

Here we're dealing with a board-file so a more classic approach of
having static lookup tables added once and never removed is in order.
So I'd leave it like this.

Bart



More information about the linux-arm-kernel mailing list