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: > > Use acpi_dev_uid_match() for matching _UID instead of treating it > > as an integer. > > NAK. See below why. > > ... > > > 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. Raag