On Sun, Nov 27, 2022 at 7:24 PM Hans de Goede <hdegoede@xxxxxxxxxx> wrote: > > The Lenovo Yoga Tab 3 Pro (YT3-X90F) is a x86 (Cherry Trail) 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 Lenovo Yoga Tab 3 Pro'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 Lenovo Yoga Tab 3 Pro to > the acpi_quirk_skip_dmi_ids table to woraround this. > > ACPI_QUIRK_SKIP_I2C_CLIENTS handling uses i2c_acpi_known_good_ids[], > so that PMICs and Audio codecs will still be enumerated properly. > The Lenovo Yoga Tab 3 Pro uses a Whiskey Cove PMIC, add the INT34D3 HID > for this PMIC to the i2c_acpi_known_good_ids[] list. > > Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> > --- > drivers/acpi/x86/utils.c | 13 ++++++++++++- > 1 file changed, 12 insertions(+), 1 deletion(-) > > diff --git a/drivers/acpi/x86/utils.c b/drivers/acpi/x86/utils.c > index 05262488fab9..4e816bb402f6 100644 > --- a/drivers/acpi/x86/utils.c > +++ b/drivers/acpi/x86/utils.c > @@ -308,7 +308,7 @@ static const struct dmi_system_id acpi_quirk_skip_dmi_ids[] = { > ACPI_QUIRK_SKIP_ACPI_AC_AND_BATTERY), > }, > { > - /* Lenovo Yoga Tablet 1050F/L */ > + /* Lenovo Yoga Tablet 2 1050F/L */ > .matches = { > DMI_MATCH(DMI_SYS_VENDOR, "Intel Corp."), > DMI_MATCH(DMI_PRODUCT_NAME, "VALLEYVIEW C0 PLATFORM"), > @@ -319,6 +319,16 @@ 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), > }, > + { > + /* Lenovo Yoga Tab 3 Pro X90F */ > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Intel Corporation"), > + DMI_MATCH(DMI_PRODUCT_NAME, "CHERRYVIEW D1 PLATFORM"), > + DMI_MATCH(DMI_PRODUCT_VERSION, "Blade3-10A-001"), > + }, > + .driver_data = (void *)(ACPI_QUIRK_SKIP_I2C_CLIENTS | > + ACPI_QUIRK_SKIP_ACPI_AC_AND_BATTERY), > + }, > { > /* Medion Lifetab S10346 */ > .matches = { > @@ -359,6 +369,7 @@ static const struct acpi_device_id i2c_acpi_known_good_ids[] = { > { "10EC5640", 0 }, /* RealTek ALC5640 audio codec */ > { "INT33F4", 0 }, /* X-Powers AXP288 PMIC */ > { "INT33FD", 0 }, /* Intel Crystal Cove PMIC */ > + { "INT34D3", 0 }, /* Intel Whiskey Cove PMIC */ > { "NPCE69A", 0 }, /* Asus Transformer keyboard dock */ > {} > }; > -- Applied as 6.2 material, thanks!