linux-acpi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/3] ACPI / pdx86: Add support for x86 Android tablets with broken DSDTs
@ 2021-12-30 14:17 Hans de Goede
  2021-12-30 14:17 ` [PATCH v2 1/3] ACPI / x86: Add acpi_quirk_skip_[i2c_client|serdev]_enumeration() helpers Hans de Goede
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Hans de Goede @ 2021-12-30 14:17 UTC (permalink / raw)
  To: Rafael J . Wysocki, Mark Gross, Andy Shevchenko, Wolfram Sang,
	Mika Westerberg, Rob Herring, Greg Kroah-Hartman, Jiri Slaby
  Cc: Hans de Goede, Len Brown, linux-acpi, platform-driver-x86,
	linux-i2c, Stephan Gerhold, linux-serial

Hi All,

Here is v2 of my patch-series to deal with x86 Android tablets with broken
DSDTs. The only change in v2 is moving the i2c_acpi_known_good_ids[] list
and check to drivers/acpi/x86/utils.c.

Since the pdx86 patches are unchanged I'm only sending out the ACPI core
changes this time. Since the i2c and serdev ACPI enumeration changes are
very small and depend on patch 1, I believe it would be best for all 3
ACPI patches to be merged through Rafael's ACPI tree.
Rafael, acks have already been given for merging all patches through
the ACPI tree by Mika, Wolfram and Greg.

For some more background info here is the v1 cover-letter again:

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.

Regards,

Hans


Hans de Goede (3):
  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

 drivers/acpi/x86/utils.c    | 111 ++++++++++++++++++++++++++++++++++++
 drivers/i2c/i2c-core-acpi.c |   7 +++
 drivers/tty/serdev/core.c   |  14 +++++
 include/acpi/acpi_bus.h     |  16 ++++++
 4 files changed, 148 insertions(+)

-- 
2.33.1


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2021-12-30 18:31 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-30 14:17 [PATCH v2 0/3] ACPI / pdx86: Add support for x86 Android tablets with broken DSDTs Hans de Goede
2021-12-30 14:17 ` [PATCH v2 1/3] ACPI / x86: Add acpi_quirk_skip_[i2c_client|serdev]_enumeration() helpers Hans de Goede
2021-12-30 16:39   ` Rafael J. Wysocki
2021-12-30 17:56     ` Wolfram Sang
2021-12-30 18:00       ` Rafael J. Wysocki
2021-12-30 18:18         ` Hans de Goede
2021-12-30 18:19           ` Rafael J. Wysocki
2021-12-30 18:31             ` Hans de Goede
2021-12-30 14:17 ` [PATCH v2 2/3] i2c: acpi: Do not instantiate I2C-clients on boards with known bogus DSDT entries Hans de Goede
2021-12-30 17:55   ` Wolfram Sang
2021-12-30 14:17 ` [PATCH v2 3/3] serdev: Do not instantiate serdevs " Hans de Goede

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).