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

From: Hans de Goede
Date: Mon Aug 14 2017 - 16:52:14 EST


Hi,

On 14-08-17 22:45, Andy Shevchenko wrote:
On Mon, Aug 14, 2017 at 11:14 PM, Hans de Goede <hdegoede@xxxxxxxxxx> wrote:
At least one BIOS enumerates the max17047 both through the INT33FE ACPI
device (it is right there in the resources table) as well as through a
separate MAX17047 device.

This commit checks for the max17047 already being enumerated through
a separate MAX17047 ACPI device and if so it uses the i2c-client
instantiated for this and attaches the device-props for the max17047 to
that i2c-client.

+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.

Regards,

Hans




+ *max17047 = to_i2c_client(dev);
+ return 1;
+ }
+
+ return 0;
+}