Re: [PATCH v1] ACPI: LPSS: use acpi_dev_uid_match() for matching _UID

From: Andy Shevchenko
Date: Thu Oct 26 2023 - 08:06:37 EST


On Thu, Oct 26, 2023 at 06:00:25AM +0300, Raag Jadav wrote:
> On Wed, Oct 25, 2023 at 11:33:40PM +0300, Andy Shevchenko wrote:
> > On Wed, Oct 25, 2023 at 11:08:33AM +0530, Raag Jadav wrote:

...

> > > static void byt_pwm_setup(struct lpss_private_data *pdata)
> > > {
> > > - u64 uid;
> > > -
> > > /* Only call pwm_add_table for the first PWM controller */
> > > - if (acpi_dev_uid_to_integer(pdata->adev, &uid) || uid != 1)
> > > + if (!acpi_dev_uid_match(pdata->adev, "1"))
> >
> > _UID by specification is a type of _string_. Yet, that string may represent an
> > integer number. Now, how many variants of the strings can you imagine that may
> > be interpreted as integer 1? I can tell about dozens.
> >
> > With your change you restricted the all possible spectre of the 1
> > representations to a single one. Have you checked ALL of the DSDTs
> > for these platforms to say 'hey, all current tables uses "1" and
> > this is not an issue'?
>
> I'm not sure if I'm following you, this would basically invalidate every
> usage of acpi_dev_hid_uid_match() helper across the driver.

It depends.

--
With Best Regards,
Andy Shevchenko