Ping. This still applies and still is relevant. Maybe got lost or stuck in the LED subsystem. Henning Am Fri, 7 Oct 2022 17:33:23 +0200 schrieb Henning Schild <henning.schild@xxxxxxxxxxx>: > If we register a "leds-gpio" platform device for GPIO pins that do not > exist we get a -EPROBE_DEFER and the probe will be tried again later. > If there is no driver to provide that pin we will poll forever and > also create a lot of log messages. > > So check if that GPIO driver is configured, if so it will come up > eventually. If not, we exit our probe function early and do not even > bother registering the "leds-gpio". This method was chosen over > "Kconfig depends" since this way we can add support for more devices > and GPIO backends more easily without "depends":ing on all GPIO > backends. > > Fixes: a6c80bec3c93 ("leds: simatic-ipc-leds-gpio: Add GPIO version > of Siemens driver") Reviewed-by: Andy Shevchenko > <andy.shevchenko@xxxxxxxxx> Signed-off-by: Henning Schild > <henning.schild@xxxxxxxxxxx> --- > drivers/leds/simple/simatic-ipc-leds-gpio.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/leds/simple/simatic-ipc-leds-gpio.c > b/drivers/leds/simple/simatic-ipc-leds-gpio.c index > b9eeb8702df0..fb8d427837db 100644 --- > a/drivers/leds/simple/simatic-ipc-leds-gpio.c +++ > b/drivers/leds/simple/simatic-ipc-leds-gpio.c @@ -77,6 +77,8 @@ > static int simatic_ipc_leds_gpio_probe(struct platform_device *pdev) > switch (plat->devmode) { > case SIMATIC_IPC_DEVICE_127E: > + if (!IS_ENABLED(CONFIG_PINCTRL_BROXTON)) > + return -ENODEV; > simatic_ipc_led_gpio_table = > &simatic_ipc_led_gpio_table_127e; break; > case SIMATIC_IPC_DEVICE_227G: