Sending again to make sure it is not missed, also i included a "Fixes" into the commit message. Tested on recent master, still applies. regards, Henning Am Wed, 24 Aug 2022 15:14:28 +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 not 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") 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 > 4c9e663a90ba..0c96ba98e338 100644 --- > a/drivers/leds/simple/simatic-ipc-leds-gpio.c +++ > b/drivers/leds/simple/simatic-ipc-leds-gpio.c @@ -57,6 +57,8 @@ > static int simatic_ipc_leds_gpio_probe(struct platform_device *pdev) > struct gpio_desc *gpiod; int err; > > + if (!IS_ENABLED(CONFIG_PINCTRL_BROXTON)) > + return -ENODEV; > gpiod_add_lookup_table(&simatic_ipc_led_gpio_table); > simatic_leds_pdev = platform_device_register_resndata(NULL, > "leds-gpio", PLATFORM_DEVID_NONE, NULL, 0,