Message ID | 20221208110202.107326-1-hdegoede@redhat.com |
---|---|
State | Accepted |
Commit | ecc6aaabcedc276128315f57755364106017c606 |
Headers | show |
Series | [1/2] ACPI: x86: Add skip i2c clients quirk for Medion Lifetab S10346 | expand |
On Thu, Dec 8, 2022 at 3:00 PM Andy Shevchenko <andy.shevchenko@gmail.com> wrote: > On Thu, Dec 8, 2022 at 1:02 PM Hans de Goede <hdegoede@redhat.com> wrote: ... > Side note. We adding a lot of DMI matching information here and there > in the drivers and often it gets duplicated in handful of times, Maybe > at some point we can create a global enum and matching table, let's > say driver/platform/x86/dmi-platforms.c with > include/linux/platform_data/x86/platform.h with global enum of the > platforms? Or even something close to vendor/device API, so you call like /* h */ enum x86_microsoft_platforms ...; int x86_dmi_match(); /* c */ enum x86_microsoft_platforms p; int ret; ret = x86_dmi_match("Microsoft" /* which is defined either as number or string */); if (ret < 0) not found p = ret;
diff --git a/drivers/acpi/x86/utils.c b/drivers/acpi/x86/utils.c index 635de40b5822..4e816bb402f6 100644 --- a/drivers/acpi/x86/utils.c +++ b/drivers/acpi/x86/utils.c @@ -329,6 +329,17 @@ static const struct dmi_system_id acpi_quirk_skip_dmi_ids[] = { .driver_data = (void *)(ACPI_QUIRK_SKIP_I2C_CLIENTS | ACPI_QUIRK_SKIP_ACPI_AC_AND_BATTERY), }, + { + /* Medion Lifetab S10346 */ + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "AMI Corporation"), + DMI_MATCH(DMI_BOARD_NAME, "Aptio CRB"), + /* Way too generic, also match on BIOS data */ + DMI_MATCH(DMI_BIOS_DATE, "10/22/2015"), + }, + .driver_data = (void *)(ACPI_QUIRK_SKIP_I2C_CLIENTS | + ACPI_QUIRK_SKIP_ACPI_AC_AND_BATTERY), + }, { /* Nextbook Ares 8 */ .matches = {
The Medion Lifetab S10346 is a x86 tablet which ships with Android x86 as factory OS. The Android x86 kernel fork ignores I2C devices described in the DSDT, except for the PMIC and Audio codecs. As usual the Medion Lifetab S10346's DSDT contains a bunch of extra I2C devices which are not actually there, causing various resource conflicts. Add an ACPI_QUIRK_SKIP_I2C_CLIENTS quirk for the Medion Lifetab S10346 to the acpi_quirk_skip_dmi_ids table to woraround this. Signed-off-by: Hans de Goede <hdegoede@redhat.com> --- drivers/acpi/x86/utils.c | 11 +++++++++++ 1 file changed, 11 insertions(+)