ACPI: x86: utils: Remove Lenovo Yoga Tablet 2's MAGN0001
authorMarius Hoch <mail@mariushoch.de>
Sat, 22 Apr 2023 16:44:01 +0000 (18:44 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 27 Apr 2023 16:48:29 +0000 (18:48 +0200)
The LSM303D on the Lenovo Yoga Tablet 2 series is present
as both ACCL0001 and MAGN0001. As we can only ever register an
i2c client for one of them, ignore MAGN0001.

Currently this errors:
i2c i2c-4: Failed to register i2c client MAGN0001:00 at 0x1d (-16)

Tested on a Lenovo Yoga Tablet 2 1051-F.

Signed-off-by: Marius Hoch <mail@mariushoch.de>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/x86/utils.c

index ba420a2..9c2d6f3 100644 (file)
@@ -143,6 +143,16 @@ static const struct override_status_id override_status_ids[] = {
                DMI_EXACT_MATCH(DMI_BOARD_SERIAL, "Default string"),
                DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Default string"),
              }),
+
+       /*
+        * The LSM303D on the Lenovo Yoga Tablet 2 series is present
+        * as both ACCL0001 and MAGN0001. As we can only ever register an
+        * i2c client for one of them, ignore MAGN0001.
+        */
+       NOT_PRESENT_ENTRY_HID("MAGN0001", "1", ATOM_SILVERMONT, {
+               DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+               DMI_MATCH(DMI_PRODUCT_FAMILY, "YOGATablet2"),
+             }),
 };
 
 bool acpi_device_override_status(struct acpi_device *adev, unsigned long long *status)