Re: [PATCH 1/2] driver core: provide device_match_fwnode_ext()
From: Bartosz Golaszewski
Date: Thu Feb 19 2026 - 16:16:05 EST
On Thu, 19 Feb 2026 17:54:24 +0100, Dmitry Torokhov
<dmitry.torokhov@xxxxxxxxx> said:
> Hi Bartosz,
>
> On Thu, Feb 19, 2026 at 05:39:47PM +0100, Bartosz Golaszewski wrote:
>> On Thu, Feb 19, 2026 at 5:36 PM Greg Kroah-Hartman
>> <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
>> >
>> > On Thu, Feb 19, 2026 at 05:31:22PM +0100, Bartosz Golaszewski wrote:
>> > > Provide an extended variant of device_match_fwnode() that also tries to
>> > > match the device's secondary fwnode.
>> > >
>> > > Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxxxxxxxx>
>> > > ---
>> > > drivers/base/core.c | 14 ++++++++++++++
>> > > include/linux/device/bus.h | 1 +
>> > > 2 files changed, 15 insertions(+)
>> > >
>> > > diff --git a/drivers/base/core.c b/drivers/base/core.c
>> > > index f599a1384eec90c104601422b04dc2b4c19d4382..bbf1337978fafc35eb94bda85e0bb7f6879879c0 100644
>> > > --- a/drivers/base/core.c
>> > > +++ b/drivers/base/core.c
>> > > @@ -5326,6 +5326,20 @@ int device_match_fwnode(struct device *dev, const void *fwnode)
>> > > }
>> > > EXPORT_SYMBOL_GPL(device_match_fwnode);
>> > >
>> > > +int device_match_fwnode_ext(struct device *dev, const void *fwnode)
>> >
>> > No kernel doc to explain what this function does?
>> >
>> > :(
>> >
>>
>> It's not like any of the other variants from this file were documented
>> but ok, I can add it in v2. Still, I'd like to hear if this even makes
>> sense.
>
> I think it really needs a good explanation given how it goes through
> secondaries on one side but not on the other (but maybe it should? Why
> one would not want to match secondary?)
>
I don't think it should. You have one, concrete fwnode and you want to match
it against a struct device: in this variant both its primary and secondary
nodes. I don't think we should do a four-way matching.
Bart
> I also not fond of the name and still not quite sure if we need a
> special variant or if the normal device_match_fwnode() should be
> adjusted and its callers (there are about 20) should be audited (and
> maybe if the actually rely on current behavior we can introduce
> device_match_primary_fwnode() instead).
>
> And it should be a 'bool' (and we should fix the rest of them as well).
>
> Thanks.
>
> --
> Dmitry
>