Re: [RFC PATCH 0/2] Add software node support to regulator framework

From: Andy Shevchenko
Date: Mon Jul 12 2021 - 09:01:48 EST


On Mon, Jul 12, 2021 at 3:42 PM Mark Brown <broonie@xxxxxxxxxx> wrote:
> On Sun, Jul 11, 2021 at 12:37:03PM +0300, Andy Shevchenko wrote:
> > On Fri, Jul 9, 2021 at 8:05 PM Mark Brown <broonie@xxxxxxxxxx> wrote:
> > > On Thu, Jul 08, 2021 at 11:42:24PM +0100, Daniel Scally wrote:
>
> > > What is a software node and why would we want to use one here?
>
> > Software node is a representation of (missed and / or quirked)
> > firmware nodes in the code.
>
> > > Why are we not just using board files, what does this new abstraction
> > > solve?
>
> > Software node _is_ a board file part. The idea behind that is that the
> > driver, which requires any additional / necessary property that has
> > been missed in the firmware nodes, wouldn't need special treatment if
> > that property comes from a board file rather than firmware.
>
> This doesn't seem to correspond with what these patches are doing,
> they're creating something which bears no relation to any firmware
> interface and the code is specifically looking for swnodes.

Okay, this seems like a different story.
The software nodes shouldn't appear on its own in the generic code.
When we use software nodes API in it, it means that we have tried
other providers _explicitly_ and haven't found what we are looking for
and hence we have to check if software nodes are providing the same.
For example, here it's done that way:
https://elixir.bootlin.com/linux/v5.14-rc1/source/kernel/irq/irqdomain.c#L178.

In all other cases it shouldn't be called explicitly.

--
With Best Regards,
Andy Shevchenko