[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20221222111915.2e08bb46@md1za8fc.ad001.siemens.net>
Date: Thu, 22 Dec 2022 11:19:15 +0100
From: Henning Schild <henning.schild@...mens.com>
To: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
Pavel Machek <pavel@....cz>, Lee Jones <lee@...nel.org>,
<linux-leds@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Cc: Andy Shevchenko <andy.shevchenko@...il.com>
Subject: Re: [PATCH v4] leds: simatic-ipc-leds-gpio: make sure we have the
GPIO providing driver
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@...mens.com>:
> 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@...il.com> Signed-off-by: Henning Schild
> <henning.schild@...mens.com> ---
> 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:
Powered by blists - more mailing lists