]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ACPI: x86: Add skip i2c clients quirk for Acer Iconia One 8 A1-840
authorHans de Goede <hdegoede@redhat.com>
Sat, 16 Nov 2024 09:58:24 +0000 (10:58 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 22 Nov 2024 20:10:23 +0000 (21:10 +0100)
The Acer Iconia One 8 A1-840 (not to be confused with the A1-840FHD which
is a different model) ships with Android 4.4 as factory OS and has the
usual broken DSDT issues for x86 Android tablets.

Add quirks to skip ACPI I2C client enumeration and disable ACPI battery/AC
and ACPI GPIO event handlers.

Also add the "INT33F5" HID for the TI PMIC used on this tablet to the list
of HIDs for which not to skip i2c_client instantiation, since we do want
an ACPI instantiated i2c_client for the PMIC.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://patch.msgid.link/20241116095825.11660-1-hdegoede@redhat.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/x86/utils.c

index 423565c31d5ef36453d5ad55c465a35546f64f0b..1bb425b78032a1b6959cfd1f59446b231c58bb23 100644 (file)
@@ -308,6 +308,18 @@ static const struct dmi_system_id acpi_quirk_skip_dmi_ids[] = {
                                        ACPI_QUIRK_SKIP_ACPI_AC_AND_BATTERY |
                                        ACPI_QUIRK_SKIP_GPIO_EVENT_HANDLERS),
        },
+       {
+               /* Acer Iconia One 8 A1-840 (non FHD version) */
+               .matches = {
+                       DMI_MATCH(DMI_SYS_VENDOR, "Insyde"),
+                       DMI_MATCH(DMI_PRODUCT_NAME, "BayTrail"),
+                       /* Above strings are too generic also match BIOS date */
+                       DMI_MATCH(DMI_BIOS_DATE, "04/01/2014"),
+               },
+               .driver_data = (void *)(ACPI_QUIRK_SKIP_I2C_CLIENTS |
+                                       ACPI_QUIRK_SKIP_ACPI_AC_AND_BATTERY |
+                                       ACPI_QUIRK_SKIP_GPIO_EVENT_HANDLERS),
+       },
        {
                .matches = {
                        DMI_EXACT_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
@@ -425,6 +437,7 @@ static const struct acpi_device_id i2c_acpi_known_good_ids[] = {
        { "10EC5640", 0 }, /* RealTek ALC5640 audio codec */
        { "10EC5651", 0 }, /* RealTek ALC5651 audio codec */
        { "INT33F4", 0 },  /* X-Powers AXP288 PMIC */
+       { "INT33F5", 0 },  /* TI Dollar Cove PMIC */
        { "INT33FD", 0 },  /* Intel Crystal Cove PMIC */
        { "INT34D3", 0 },  /* Intel Whiskey Cove PMIC */
        { "NPCE69A", 0 },  /* Asus Transformer keyboard dock */