Re: [PATCH v4] leds: simatic-ipc-leds-gpio: make sure we have the GPIO providing driver

From: Lee Jones
Date: Fri Feb 03 2023 - 02:59:55 EST


On Thu, 02 Feb 2023, Henning Schild wrote:

> Am Thu, 19 Jan 2023 21:02:40 +0000
> schrieb Lee Jones <lee@xxxxxxxxxx>:
>
> > On Fri, 07 Oct 2022, Henning Schild 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 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(+)
> >
> > FYI: I'm going to try my best not to take another one like this.
>
> You will not have to. I now understood how to improve on that as i am
> adding more variants needing more gpio controller drivers.
>
> > Please try to improve the whole situation for you next submission.
> >
> > Applied, thanks.
>
> I hope this is still in the branches for a merge. It should be applied.
> It does fix a problem but using a wrong pattern, but a pattern that is
> already in use.

What makes you think it's not applied?

> So this will fix 6.1 and above in the short term.
>
> In the long term i will restructure to individual drivers which have a
> clear dependency chain in Kconfig. I will use inheritance to arrive at
> minimal code duplication and will use Kconfig switch default
> inheritance to ease configuration.
>
> Such restructuring patches will have to be written first, but they will
> come. Either stand-alone or together with the next machine.

That's fine. Whatever suits.

--
Lee Jones [李琼斯]