Am Wed, 24 Aug 2022 18:53:49 +0300 schrieb Andy Shevchenko <andy.shevchenko@xxxxxxxxx>: > On Wed, Aug 24, 2022 at 4:27 PM Henning Schild > <henning.schild@xxxxxxxxxxx> wrote: > > > > 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 > > not --> no > > > 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 > > > > not, we > > > 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. > > "depends":ing > > The code is fine from my perspective, > Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> > thanks! Thank you! Typos fixed and tag added in v3. Henning > > > 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, > > -- > > 2.35.1 > > > >