Hi All, On 12/30/21 00:14, Hans de Goede wrote: > Hi All, > > As a small(ish) hoppy project over the holidays I've been looking into > getting some (somewhat older) x86 tablets which ship with Android as the > only OS on their factory image working with the mainline kernel. > > These typically have pretty broken DSDTs since the Android image kernel > just has everything hardcoded. > > This patch-series makes most things on 3 of these tablets work with the > mainline kernel and lays the groundwork for adding support for similar > tablets. > > Since the ACPI tables on these devices clearly are buggy this series is > written so as to add minimal changes to the ACPI core code, leaving all > of the heavy lifting to the recently introduced (in linux-next) > drivers/platform/x86/x86-android-tablets.c module, which when built as > a module only autoloads on affected devices based on DMI matching. > > And when this module is disabled the added acpi_quirk_skip_*_enumeration() > helpers are replaced by inline stubs and even the minimally added core > code will be optimized away. > > The ACPI core changes are in patches 1-3 of this series. Since the > i2c and serdev ACPI enumeration changes are very small and depend on > patch 1, I believe it would be best for patches 1-3 to all be merged > through Rafael's ACPI tree. I've added patches 4-12 to my pdx86/review-hans (soon to be for-next) branch now. Regards, Hans > Hans de Goede (12): > ACPI / x86: Add acpi_quirk_skip_[i2c_client|serdev]_enumeration() > helpers > i2c: acpi: Do not instantiate I2C-clients on boards with known bogus > DSDT entries > serdev: Do not instantiate serdevs on boards with known bogus DSDT > entries > platform/x86: x86-android-tablets: Don't return -EPROBE_DEFER from a > non probe() function > platform/x86: x86-android-tablets: Add support for PMIC interrupts > platform/x86: x86-android-tablets: Add support for instantiating > platform-devs > platform/x86: x86-android-tablets: Add support for instantiating > serdevs > platform/x86: x86-android-tablets: Add support for registering GPIO > lookup tables > platform/x86: x86-android-tablets: Add support for preloading modules > platform/x86: x86-android-tablets: Add Asus TF103C data > platform/x86: x86-android-tablets: Add Asus MeMO Pad 7 ME176C data > platform/x86: x86-android-tablets: Add TM800A550L data > > drivers/acpi/x86/utils.c | 96 ++++ > drivers/i2c/i2c-core-acpi.c | 17 + > drivers/platform/x86/Kconfig | 2 +- > drivers/platform/x86/x86-android-tablets.c | 562 ++++++++++++++++++++- > drivers/tty/serdev/core.c | 14 + > include/acpi/acpi_bus.h | 16 + > 6 files changed, 698 insertions(+), 9 deletions(-) >