Re: [PATCH v3 02/10] software node: increase the reference of the swnode by its fwnode
From: Andy Shevchenko
Date: Fri Oct 31 2025 - 05:44:56 EST
On Fri, Oct 31, 2025 at 10:03:47AM +0100, Bartosz Golaszewski wrote:
> On Fri, Oct 31, 2025 at 9:30 AM Andy Shevchenko
> <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote:
> > On Thu, Oct 30, 2025 at 03:33:02AM -0700, Bartosz Golaszewski wrote:
> > > On Thu, 30 Oct 2025 10:34:46 +0100, Andy Shevchenko
> > > <andriy.shevchenko@xxxxxxxxxxxxxxx> said:
...
> > > Andy: the resulting code after patch 3/10 looks like this:
> > >
> > > struct fwnode_handle *refnode;
> > >
> > > (...)
> >
> > Let's say something like below to be put here
> >
> > /*
> > * The reference in software node may refer to a node of a different type.
> > * Depending on the type we choose either to use software node directly, or
> > * delegate that to fwnode API.
> > */
>
> But this is incorrect: we're not really doing that. We either use the
> firmware node reference directly OR cast the software node to its
> firmware node representation. We ALWAYS use the firmware node API
> below.
>
> This really *is* evident from the code but if it'll make you happy and
> make you sign off on this, I'll add a corrected version.
The comment should answer to the Q: "Why the heck are we calling fwnode APIs here?"
> IMO It's completely redundant.
This is unusual case for swnode API (see other functions, they call directly
the low-level implementation instead of going to a round via fwnode). That's
why I insist on a comment of this piece. It may be obvious for you, but the
unprepared read would be surprised by this inconsistency.
--
With Best Regards,
Andy Shevchenko