On Mon, May 15, 2023 at 05:03:50PM +0200, Henning Schild wrote: > There are two special pins needed to init the LEDs. We used to have them > at the end of the gpiod_lookup table to give to "leds-gpio". A cleaner > way is to have a dedicated table for the special pins. ... > static struct gpiod_lookup_table simatic_ipc_led_gpio_table_127e = { > .dev_id = "leds-gpio", > @@ -26,6 +27,12 @@ static struct gpiod_lookup_table simatic_ipc_led_gpio_table_127e = { > GPIO_LOOKUP_IDX("apollolake-pinctrl.0", 58, NULL, 3, GPIO_ACTIVE_LOW), > GPIO_LOOKUP_IDX("apollolake-pinctrl.0", 60, NULL, 4, GPIO_ACTIVE_LOW), > GPIO_LOOKUP_IDX("apollolake-pinctrl.0", 51, NULL, 5, GPIO_ACTIVE_LOW), Missing terminator. I'm wondering how this works... > + }, > +}; > + > +static struct gpiod_lookup_table simatic_ipc_led_gpio_table_127e_extra = { > + .dev_id = NULL, /* Filled during initialization */ > + .table = { > GPIO_LOOKUP_IDX("apollolake-pinctrl.0", 56, NULL, 6, GPIO_ACTIVE_LOW), > GPIO_LOOKUP_IDX("apollolake-pinctrl.0", 59, NULL, 7, GPIO_ACTIVE_HIGH), > }, > @@ -40,9 +47,15 @@ static struct gpiod_lookup_table simatic_ipc_led_gpio_table_227g = { > GPIO_LOOKUP_IDX("gpio-f7188x-2", 3, NULL, 3, GPIO_ACTIVE_LOW), > GPIO_LOOKUP_IDX("gpio-f7188x-2", 4, NULL, 4, GPIO_ACTIVE_LOW), > GPIO_LOOKUP_IDX("gpio-f7188x-2", 5, NULL, 5, GPIO_ACTIVE_LOW), Ditto. > + }, > +}; > + > +static struct gpiod_lookup_table simatic_ipc_led_gpio_table_227g_extra = { > + .dev_id = NULL, /* Filled during initialization */ > + .table = { > GPIO_LOOKUP_IDX("gpio-f7188x-3", 6, NULL, 6, GPIO_ACTIVE_HIGH), > GPIO_LOOKUP_IDX("gpio-f7188x-3", 7, NULL, 7, GPIO_ACTIVE_HIGH), Ditto. > - } > + }, > }; -- With Best Regards, Andy Shevchenko