Re: [PATCH v2 1/4] ACPI/APMT: Use stable device ID
Hanjun Guo <[email protected]>
| Newsgroups | org.kernel.vger.linux-acpi,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-perf-users |
|---|---|
| Message-ID | <[email protected]> |
On 2026/7/16 22:56, Robin Murphy wrote: > The APMT node format includes a unique identifier, so we can use this as > the platform device ID to give userspace stable and identifiable device > names, rather than auto numbering dependent on how the table is parsed. > > Cc: Lorenzo Pieralisi <[email protected]> > Cc: Hanjun Guo <[email protected]> > Cc: Sudeep Holla <[email protected]> > Reviewed-by: Ilkka Koskinen <[email protected]> > Signed-off-by: Robin Murphy <[email protected]> > > --- > v2: Handle and warn about unexpected signed overflow > --- > drivers/acpi/arm64/apmt.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/acpi/arm64/apmt.c b/drivers/acpi/arm64/apmt.c > index bb010f6164e5..91fcdd289e63 100644 > --- a/drivers/acpi/arm64/apmt.c > +++ b/drivers/acpi/arm64/apmt.c > @@ -76,10 +76,12 @@ static int __init apmt_add_platform_device(struct acpi_apmt_node *node, > struct fwnode_handle *fwnode) > { > struct platform_device *pdev; > - int ret, count; > + int ret, count, uid = node->id & INT_MAX; > struct resource res[DEV_MAX_RESOURCE_COUNT]; > > - pdev = platform_device_alloc(DEV_NAME, PLATFORM_DEVID_AUTO); > + if (uid != node->id) > + pr_warn("Unexpectedly large UID 0x%x, truncated to 0x%x\n", node->id, uid); > + pdev = platform_device_alloc(DEV_NAME, uid); > if (!pdev) > return -ENOMEM; Reviewed-by: Hanjun Guo <[email protected]> Thanks Hanjun