Sun, Feb 18, 2024 at 02:28:06PM +0800, Xing Tong Wu kirjoitti: > From: Xing Tong 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 MIssing period at the end of the sentence. ... > static int simatic_ipc_leds_gpio_f7188x_probe(struct platform_device *pdev) > { > + const struct simatic_ipc_platform *plat = pdev->dev.platform_data; dev_get_platdata() > + struct simatic_ipc_led_tables *led_tables; > + > + led_tables = devm_kzalloc(&pdev->dev, sizeof(*led_tables), GFP_KERNEL); > + if (!led_tables) > + return -ENOMEM; > + > + switch (plat->devmode) { > + case SIMATIC_IPC_DEVICE_227G: > + led_tables->led_lookup_table = &simatic_ipc_led_gpio_table_227g; > + led_tables->led_lookup_table_extra = &simatic_ipc_led_gpio_table_extra_227g; > + break; > + case SIMATIC_IPC_DEVICE_BX_59A: > + led_tables->led_lookup_table = &simatic_ipc_led_gpio_table_bx_59a; > + break; > + default: > + return -ENODEV; > + } > + > + dev_set_drvdata(&pdev->dev, led_tables); platform_set_drvdata() > + return simatic_ipc_leds_gpio_probe(pdev, led_tables->led_lookup_table, > + led_tables->led_lookup_table_extra); > } ... > static void simatic_ipc_leds_gpio_f7188x_remove(struct platform_device *pdev) > { > + struct simatic_ipc_led_tables *led_tables; > + led_tables = dev_get_drvdata(&pdev->dev); platform_get_drvdata() > + simatic_ipc_leds_gpio_remove(pdev, led_tables->led_lookup_table, > + led_tables->led_lookup_table_extra); > } -- With Best Regards, Andy Shevchenko