Re: [PATCH v2] ACPI: bus: Use OF match data for PRP0001 matched devices

From: Andy Shevchenko
Date: Thu Jan 08 2026 - 13:28:10 EST


On Thu, Jan 08, 2026 at 05:57:35PM +0530, Kartik Rajput wrote:
> On 07/01/26 21:17, Andy Shevchenko wrote:
> > On Wed, Jan 07, 2026 at 05:33:18PM +0530, Kartik Rajput wrote:

> > > When a device is matched via PRP0001, the driver's OF (DT) match table
> > > must be used to obtain the device match data. If a driver provides both
> > > an acpi_match_table and an of_match_table, the current
> > > acpi_device_get_match_data() path consults the driver's acpi_match_table
> > > and returns NULL (no ACPI ID matches).
> >
> > Since we have both tables, why the actual ACPI HID of the device in question
> > (actually which one?) can't be used?
> >
> > > Explicitly detect PRP0001 and fetch match data from the driver's
> > > of_match_table via acpi_of_device_get_match_data().
> >
> > In principle we can go this way, but can you tell a bit more of a story?
> > Why the device in question can't use existed or a newly allocated ACPI HID for
> > that?
>
> While testing PRP0001-based matching with the Tegra fuse driver on an SoC that does
> not yet have an allocated ACPI HID,

Which means in the production you do not need this patch. Allocate ID and go with it.

> device_get_match_data() returned NULL because
> the driver also provides an acpi_match_table.
>
> Commit 886ca88be6b3 ("ACPI / bus: Respect PRP0001 when retrieving device match data")
> was intended to address this by honoring PRP0001 when retrieving match data. However,
> when a driver provides an ACPI match table, acpi_device_get_match_data() currently
> consults only that table, resulting in NULL match data despite a successful
> PRP0001 match.

Which is expected behaviour. So there are two cases I can see that might make
this patch valid:

1) the preproduction development when the driver has both tables and formal
ACPI HID is not allocated yet (this what has to be the main "why" point
in the commit message);

2) a driver that got ACPI HID from somebody else and breaks the PRP0001 setups
for others (no evidences so far, but I admit there is a potential to have a
such).

That said, having the Fixes tag is unrequired.

--
With Best Regards,
Andy Shevchenko