From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>,
Kartik Rajput <kkartik@nvidia.com>,
lenb@kernel.org, thierry.reding@gmail.com, jonathanh@nvidia.com,
linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3] ACPI: bus: Use OF match data for PRP0001 matched devices
Date: Fri, 9 Jan 2026 19:02:50 +0200 [thread overview]
Message-ID: <aWE0uuZjB1iMGF2B@smile.fi.intel.com> (raw)
In-Reply-To: <aWDmt3CA5h_i9Hij@kekkonen.localdomain>
On Fri, Jan 09, 2026 at 01:29:59PM +0200, Sakari Ailus wrote:
> On Fri, Jan 09, 2026 at 01:05:52PM +0200, Andy Shevchenko wrote:
> > On Fri, Jan 09, 2026 at 11:13:02AM +0100, Mika Westerberg wrote:
> > > On Fri, Jan 09, 2026 at 03:23:58PM +0530, Kartik Rajput wrote:
> > > > During pre-production development, drivers may provide both ACPI and OF
> > > > match tables while a formal ACPI HID for the device is not yet
> > > > allocated. Such devices are enumerated via PRP0001. In this case,
> > > > acpi_device_get_match_data() consults only the driver’s ACPI match table
> > > > and returns NULL, even though the device was successfully matched via
> > > > PRP0001.
> > > >
> > > > This behavior also risks breaking existing PRP0001 setups if a driver
> > > > later gains an ACPI HID, as the presence of an ACPI match table changes
> > > > the match-data lookup path.
> > > >
> > > > Explicitly detect PRP0001 and fetch match data from the driver's
> > > > OF match table via acpi_of_device_get_match_data().
...
> > > > const struct acpi_device_id *acpi_ids = dev->driver->acpi_match_table;
> > > > + struct acpi_device *adev = ACPI_COMPANION(dev);
> > > > const struct acpi_device_id *match;
> > > >
> > > > - if (!acpi_ids)
> > > > + if (!adev)
> > > > + return NULL;
> > > > +
> > > > + if (!strcmp(acpi_device_hid(adev), ACPI_DT_NAMESPACE_HID))
> > > > return acpi_of_device_get_match_data(dev);
> >
> > On top of what Mika asked, shouldn't we check CID as well? Theoretically it's
> > possible that some device may have HID "blablabla" and CID PRP0001, I don't
> > remember what documentation says about this case, though.
>
> According to Documentation/firmware-guide/acpi/enumeration.rst PRP0001 is
> also valid for _CID. So yes, I think this should be checked as well -- I'd
> loop over the &device->pnp.ids list.
Yeah, but if we have a device with
HID "blablabla"
CID "PRP0001"
and at the same time the driver has ACPI ID listed, we should probably use that
one as HID should have higher weight for matching. Logic here is not just as simple
as looping over pnp.ids how I see it.
--
With Best Regards,
Andy Shevchenko
next prev parent reply other threads:[~2026-01-09 17:02 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-09 9:53 [PATCH v3] ACPI: bus: Use OF match data for PRP0001 matched devices Kartik Rajput
2026-01-09 10:13 ` Mika Westerberg
2026-01-09 11:05 ` Andy Shevchenko
2026-01-09 11:29 ` Sakari Ailus
2026-01-09 17:02 ` Andy Shevchenko [this message]
2026-01-09 21:11 ` Rafael J. Wysocki
2026-01-11 22:01 ` Sakari Ailus
2026-01-12 8:42 ` Kartik Rajput
2026-01-12 8:55 ` Andy Shevchenko
2026-01-12 9:11 ` Sakari Ailus
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aWE0uuZjB1iMGF2B@smile.fi.intel.com \
--to=andriy.shevchenko@linux.intel.com \
--cc=jonathanh@nvidia.com \
--cc=kkartik@nvidia.com \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mika.westerberg@linux.intel.com \
--cc=sakari.ailus@linux.intel.com \
--cc=thierry.reding@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox