On Fri, 02 Feb 2024, xingtong.wu wrote: > At 2023-07-31 15:18:33, xingtong_wu@xxxxxxx wrote: > >From: "xingtong.wu" <xingtong.wu@xxxxxxxxxxx> > > > >This is used for the Siemens Simatic IPC BX-59A, which has its LEDs > >connected to GPIOs provided by the Nuvoton NCT6126D > > > >Signed-off-by: xingtong.wu <xingtong.wu@xxxxxxxxxxx> > >--- > > .../leds/simple/simatic-ipc-leds-gpio-core.c | 1 + > > .../simple/simatic-ipc-leds-gpio-f7188x.c | 42 ++++++++++++++++--- > > 2 files changed, 37 insertions(+), 6 deletions(-) > > > >diff --git a/drivers/leds/simple/simatic-ipc-leds-gpio-core.c b/drivers/leds/simple/simatic-ipc-leds-gpio-core.c > >index c552ea73ed9d..10dca208d8cc 100644 > >--- a/drivers/leds/simple/simatic-ipc-leds-gpio-core.c > >+++ b/drivers/leds/simple/simatic-ipc-leds-gpio-core.c > >@@ -58,6 +58,7 @@ int simatic_ipc_leds_gpio_probe(struct platform_device *pdev, > > case SIMATIC_IPC_DEVICE_127E: > > case SIMATIC_IPC_DEVICE_227G: > > case SIMATIC_IPC_DEVICE_BX_21A: > >+ case SIMATIC_IPC_DEVICE_BX_59A: > > break; > > default: > > return -ENODEV; > >diff --git a/drivers/leds/simple/simatic-ipc-leds-gpio-f7188x.c b/drivers/leds/simple/simatic-ipc-leds-gpio-f7188x.c > >index 583a6b6c7c22..a5b544b20857 100644 > >--- a/drivers/leds/simple/simatic-ipc-leds-gpio-f7188x.c > >+++ b/drivers/leds/simple/simatic-ipc-leds-gpio-f7188x.c > >@@ -17,7 +17,10 @@ > > > > #include "simatic-ipc-leds-gpio.h" > > > >-static struct gpiod_lookup_table simatic_ipc_led_gpio_table = { > >+static struct gpiod_lookup_table *led_lookup_table; > >+static struct gpiod_lookup_table *led_lookup_table_extra; > >+ > >+static struct gpiod_lookup_table simatic_ipc_led_gpio_table_227g = { > > .dev_id = "leds-gpio", > > .table = { > > GPIO_LOOKUP_IDX("gpio-f7188x-2", 0, NULL, 0, GPIO_ACTIVE_LOW), > >@@ -30,7 +33,7 @@ static struct gpiod_lookup_table simatic_ipc_led_gpio_table = { > > }, > > }; > > > >-static struct gpiod_lookup_table simatic_ipc_led_gpio_table_extra = { > >+static struct gpiod_lookup_table simatic_ipc_led_gpio_table_extra_227g = { > > .dev_id = NULL, /* Filled during initialization */ > > .table = { > > GPIO_LOOKUP_IDX("gpio-f7188x-3", 6, NULL, 6, GPIO_ACTIVE_HIGH), > >@@ -39,16 +42,43 @@ static struct gpiod_lookup_table simatic_ipc_led_gpio_table_extra = { > > }, > > }; > > > >+static struct gpiod_lookup_table simatic_ipc_led_gpio_table_bx_59a = { > >+ .dev_id = "leds-gpio", > >+ .table = { > >+ GPIO_LOOKUP_IDX("gpio-f7188x-2", 0, NULL, 0, GPIO_ACTIVE_LOW), > >+ GPIO_LOOKUP_IDX("gpio-f7188x-2", 3, NULL, 1, GPIO_ACTIVE_LOW), > >+ GPIO_LOOKUP_IDX("gpio-f7188x-5", 3, NULL, 2, GPIO_ACTIVE_LOW), > >+ GPIO_LOOKUP_IDX("gpio-f7188x-5", 2, NULL, 3, GPIO_ACTIVE_LOW), > >+ GPIO_LOOKUP_IDX("gpio-f7188x-7", 7, NULL, 4, GPIO_ACTIVE_LOW), > >+ GPIO_LOOKUP_IDX("gpio-f7188x-7", 4, NULL, 5, GPIO_ACTIVE_LOW), > >+ {} /* Terminating entry */ > >+ } > >+}; > >+ > > static int simatic_ipc_leds_gpio_f7188x_probe(struct platform_device *pdev) > > { > >- return simatic_ipc_leds_gpio_probe(pdev, &simatic_ipc_led_gpio_table, > >- &simatic_ipc_led_gpio_table_extra); > >+ const struct simatic_ipc_platform *plat = pdev->dev.platform_data; > >+ > >+ switch (plat->devmode) { > >+ case SIMATIC_IPC_DEVICE_227G: > >+ led_lookup_table = &simatic_ipc_led_gpio_table_227g; > >+ led_lookup_table_extra = &simatic_ipc_led_gpio_table_extra_227g; > >+ break; > >+ case SIMATIC_IPC_DEVICE_BX_59A: > >+ led_lookup_table = &simatic_ipc_led_gpio_table_bx_59a; > >+ break; > >+ default: > >+ return -ENODEV; > >+ } > >+ > >+ return simatic_ipc_leds_gpio_probe(pdev, led_lookup_table, > >+ led_lookup_table_extra); > > } > > > > static int simatic_ipc_leds_gpio_f7188x_remove(struct platform_device *pdev) > > { > >- return simatic_ipc_leds_gpio_remove(pdev, &simatic_ipc_led_gpio_table, > >- &simatic_ipc_led_gpio_table_extra); > >+ return simatic_ipc_leds_gpio_remove(pdev, led_lookup_table, > >+ led_lookup_table_extra); > > } > > > > static struct platform_driver simatic_ipc_led_gpio_driver = { > >-- > >2.25.1 > > Hi > > After engaging in a thorough discussion, it appears that we have > reached a consensus to merge this patch. I have no idea what you're referring to here. > Considering the considerable > duration that has passed, I am sending this email as a gentle reminder, > in case there is a possibility that it may have slipped your mind. Please resubmit all unmerged patches as a [RESEND]. -- Lee Jones [李琼斯]