[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aJoTvDA6_pxVoV7G@smile.fi.intel.com>
Date: Mon, 11 Aug 2025 19:01:00 +0300
From: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
To: Dmitry Torokhov <dmitry.torokhov@...il.com>
Cc: Hans de Goede <hansg@...nel.org>,
Santosh Kumar Yadav <santoshkumar.yadav@...co.com>,
Peter Korsgaard <peter.korsgaard@...co.com>,
Bartosz Golaszewski <bartosz.golaszewski@...aro.org>,
Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>,
Arnd Bergmann <arnd@...db.de>, platform-driver-x86@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] platform/x86: barco-p50-gpio: use software nodes for
gpio-leds/keys
On Mon, Aug 11, 2025 at 08:49:21AM -0700, Dmitry Torokhov wrote:
> On Mon, Aug 11, 2025 at 06:45:23PM +0300, Andy Shevchenko wrote:
> > On Mon, Aug 11, 2025 at 04:20:33PM +0200, Hans de Goede wrote:
> > > On 11-Aug-25 2:44 PM, Andy Shevchenko wrote:
> > > > On Sun, Aug 10, 2025 at 09:31:37PM -0700, Dmitry Torokhov wrote:
...
> > > > Otherwise LGTM as here it looks like we establish platform device ourselves and
> > > > hence no need some additional magic Hans mentioned in the other series.
> > >
> > > Not entirely like with the x86-android-tablets patches this
> > > declares a software-node for the gpiochip:
> > >
> > > static const struct software_node gpiochip_node = {
> > > .name = DRIVER_NAME,
> > > };
> > >
> > > and registers that node, but nowhere does it actually
> > > get assigned to the gpiochip.
> > >
> > > This is going to need a line like this added to probe():
> > >
> > > p50->gc.fwnode = software_node_fwnode(&gpiochip_node);
> > >
> > > note the software_node_fwnode() call MUST be made after
> > > registering the software-nodes (group).
> > >
> > > Other then needing this single line things are indeed
> > > much easier when the code containing the software
> > > properties / nodes is the same code as which is
> > > registering the gpiochip.
> >
> > Ah, good point!
>
> This is wrong though, the software node need not be attached to the
> gpiochip (and I wonder if it is even safe to do so). It simply provides
> a name by which gpiochip is looked up in swnode_get_gpio_device().
Do we have all this being documented somewhere? Perhaps start with that?1
--
With Best Regards,
Andy Shevchenko
Powered by blists - more mailing lists