Message ID | 20230731071833.4725-1-xingtong_wu@163.com |
---|---|
State | Superseded |
Headers | show |
Series | None | expand |
At 2023-07-31 15:18:33, xingtong_wu@163.com wrote: >From: "xingtong.wu" <xingtong.wu@siemens.com> > >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@siemens.com> >--- > .../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. 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. XingTong
On Fri, 02 Feb 2024, xingtong.wu wrote: > At 2023-07-31 15:18:33, xingtong_wu@163.com wrote: > >From: "xingtong.wu" <xingtong.wu@siemens.com> > > > >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@siemens.com> > >--- > > .../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].
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 = {