Re: [PATCH] platform/x86: intel_cht_int33fe: Work around BIOS bug on some devices

From: Andy Shevchenko
Date: Thu Aug 31 2017 - 12:04:54 EST


On Mon, Aug 14, 2017 at 11:52 PM, Hans de Goede <hdegoede@xxxxxxxxxx> wrote:
> On 14-08-17 22:45, Andy Shevchenko wrote:
>> On Mon, Aug 14, 2017 at 11:14 PM, Hans de Goede <hdegoede@xxxxxxxxxx>
>> wrote:

>>> +int cht_int33fe_check_for_max17047(struct device *dev, void *data)
>>> +{
>>> + const char *name = dev_name(dev);
>>> + struct i2c_client **max17047 = data;
>>> +
>>> + if (name && strcmp(name, "i2c-MAX17047:00") == 0) {
>>
>>
>> Can we stop using bad practice of comparing against _instance_?
>> If device is suppose to be single in the system, wouldn't _HID be enough?

> Yes _HID would be enough, but that takes some extra code with little
> gain IMHO, we are effectively checking the HID here as that is where
> the device-name comes from.
>
> Anyways if you strongly prefer a HID check I can do a v2 doing that
> either way let me know.

Currently we have the following modules where ACPI instance is used in:

drivers/acpi/acpi_lpss.c
drivers/input/touchscreen/goodix.c
drivers/platform/x86/silead_dmi.c
drivers/power/supply/axp288_charger.c

and plenty under sound/soc/intel.

I do not care right now about sound/soc/intel stuff, while everywhere
else would be better to avoid this.

Mika, Rafael, what're yours opinions regarding to use ACPI instances
in the drivers?

For me it sounds fragile.

--
With Best Regards,
Andy Shevchenko