Re: [PATCH v1 3/6] spi: pxa2xx: Remove no more needed PCI ID table

Andy Shevchenko
2022-10-20T18:19:16Z

On Thu, Oct 20, 2022 at 07:07:10PM +0100, Mark Brown wrote:
> On Thu, Oct 20, 2022 at 08:55:02PM +0300, Andy Shevchenko wrote:
> > On Thu, Oct 20, 2022 at 06:45:19PM +0100, Mark Brown wrote:
>
> > > Not sure I quite get what you're proposing here but I *think* so,
> > > assuming you mean checking the values if the property is present (and
> > > error out if the property isn't there at all and you're instantiating
> > > via a MFD rather than direct PCI/DT binding I guess)?
>
> > When we instantiate via MFD, we (semi-)manually create resources for each of
> > the children. These resources may or may not have a dedicated names. Those
> > names can be given _only_ inside the source code in the kernel, so it means
> > it is _explicit_ telling, that we are know where the device in question comes
> > from.
>
> > if (resource_with_name_present()) {
> > ret = device_property_...
>
> > Like you said, checking property only when we have resource present _by name_
> > and bail out if there is none.
>
> Remember that device_property backs onto fwnode so properties can come
> from _DSD properties too since fwnode will query any source of
> properties (and further remember that things will be going through
> multiple trees so even with stuff purely in the kernel things could get
> out of sync).

> I think the code would have to also check that it was a
> MFD child at least,

That's exactly what I'm talking about when said "named resource check".

> you couldn't get _DSD on a child node so that should
> be fine.

So, I guess we settled down this. I'll prepare v4 with the discussed changes.

--
With Best Regards,
Andy Shevchenko