All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hans de Goede <hdegoede@redhat.com>
To: Mark Gross <markgross@kernel.org>,
	Andy Shevchenko <andy@infradead.org>,
	Wolfram Sang <wsa@the-dreams.de>,
	Sebastian Reichel <sre@kernel.org>,
	MyungJoo Ham <myungjoo.ham@samsung.com>,
	Chanwoo Choi <cw00.choi@samsung.com>,
	Ard Biesheuvel <ardb@kernel.org>
Cc: Hans de Goede <hdegoede@redhat.com>,
	Yauhen Kharuzhy <jekhor@gmail.com>,
	Tsuchiya Yuto <kitakar@gmail.com>,
	platform-driver-x86@vger.kernel.org, linux-i2c@vger.kernel.org,
	linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-efi@vger.kernel.org
Subject: [PATCH 01/13] platform/x86: Rename touchscreen_dmi to dmi_device_properties
Date: Sat, 30 Oct 2021 20:28:01 +0200	[thread overview]
Message-ID: <20211030182813.116672-2-hdegoede@redhat.com> (raw)
In-Reply-To: <20211030182813.116672-1-hdegoede@redhat.com>

The ability to attach device-properties to (I2C) devices based on
a DMI + I2C device-name match to address the hw-description in
some ACPI tables being incomplete is useful for more things then just
touchscreens. Rename the Kconfig option and file to reflect this.

The specific use-case triggering this change is describing the
hardware surrounding the Whiskey Cove PMIC found on several
Cherry Trail based devices. At least 3 configs are known:

1. The WC PMIC is connected to a TI BQ24292i charger, paired with
   a Maxim MAX17047 fuelgauge + a FUSB302 USB Type-C Controller +
   a PI3USB30532 USB switch, for a fully functional Type-C port

2. The WC PMIC is connected to a TI BQ25890 charger, paired with
   a TI BQ27520 fuelgauge, for a USB-2 only Type-C port without PD

3. The WC PMIC is connected to a TI BQ25890 charger, paired with
   a TI BQ27542 fuelgauge, for a micro-USB port

And various drivers (extcon-intel-cht-wc.c, i2c-cht-wc.c, ...) need
to know which config they are dealing with.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 MAINTAINERS                                   |  2 +-
 drivers/firmware/efi/embedded-firmware.c      |  4 ++--
 drivers/platform/x86/Kconfig                  | 20 ++++++++++---------
 drivers/platform/x86/Makefile                 |  2 +-
 ...chscreen_dmi.c => dmi_device_properties.c} |  8 ++++----
 include/linux/efi_embedded_fw.h               |  2 +-
 6 files changed, 20 insertions(+), 18 deletions(-)
 rename drivers/platform/x86/{touchscreen_dmi.c => dmi_device_properties.c} (99%)

diff --git a/MAINTAINERS b/MAINTAINERS
index 09abc1d84a7f..fe6a952c0232 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -17156,7 +17156,7 @@ L:	linux-input@vger.kernel.org
 L:	platform-driver-x86@vger.kernel.org
 S:	Maintained
 F:	drivers/input/touchscreen/silead.c
-F:	drivers/platform/x86/touchscreen_dmi.c
+F:	drivers/platform/x86/dmi_device_properties.c
 
 SILICON LABS WIRELESS DRIVERS (for WFxxx series)
 M:	Jérôme Pouiller <jerome.pouiller@silabs.com>
diff --git a/drivers/firmware/efi/embedded-firmware.c b/drivers/firmware/efi/embedded-firmware.c
index f5be8e22305b..f8212af0ba5e 100644
--- a/drivers/firmware/efi/embedded-firmware.c
+++ b/drivers/firmware/efi/embedded-firmware.c
@@ -21,8 +21,8 @@ bool efi_embedded_fw_checked;
 EXPORT_SYMBOL_NS_GPL(efi_embedded_fw_checked, TEST_FIRMWARE);
 
 static const struct dmi_system_id * const embedded_fw_table[] = {
-#ifdef CONFIG_TOUCHSCREEN_DMI
-	touchscreen_dmi_table,
+#ifdef CONFIG_DMI_DEVICE_PROPERTIES
+	dmi_device_properties,
 #endif
 	NULL
 };
diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
index b110a2e6b8f3..9cb8d33cc6e1 100644
--- a/drivers/platform/x86/Kconfig
+++ b/drivers/platform/x86/Kconfig
@@ -981,17 +981,19 @@ config MLX_PLATFORM
 
 	  If you have a Mellanox system, say Y or M here.
 
-config TOUCHSCREEN_DMI
-	bool "DMI based touchscreen configuration info"
-	depends on ACPI && DMI && I2C=y && TOUCHSCREEN_SILEAD
+config DMI_DEVICE_PROPERTIES
+	bool "DMI based extra device properties"
+	depends on ACPI && DMI && I2C=y
 	select EFI_EMBEDDED_FIRMWARE if EFI
 	help
-	  Certain ACPI based tablets with e.g. Silead or Chipone touchscreens
-	  do not have enough data in ACPI tables for the touchscreen driver to
-	  handle the touchscreen properly, as OEMs expect the data to be baked
-	  into the tablet model specific version of the driver shipped with the
-	  the OS-image for the device. This option supplies the missing info.
-	  Enable this for x86 tablets with Silead or Chipone touchscreens.
+	  Sometimes ACPI based x86 devices do not have enough data in their ACPI
+	  tables to fully describe the hardware. This option enables support for
+	  supplying the missing info based on DMI (vendor & model string)
+	  matching for devices where this info has been added to the
+	  dmi-device-properties code.
+
+	  This option is often necessary for correct operation of x86 based
+	  tablets and 2-in-1 devices. If in doubt, say Y here.
 
 config FW_ATTR_CLASS
 	tristate
diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile
index 219478061683..3f610332b556 100644
--- a/drivers/platform/x86/Makefile
+++ b/drivers/platform/x86/Makefile
@@ -107,10 +107,10 @@ obj-$(CONFIG_SYSTEM76_ACPI)	+= system76_acpi.o
 obj-$(CONFIG_TOPSTAR_LAPTOP)	+= topstar-laptop.o
 
 # Platform drivers
+obj-$(CONFIG_DMI_DEVICE_PROPERTIES)	+= dmi_device_properties.o
 obj-$(CONFIG_FW_ATTR_CLASS)		+= firmware_attributes_class.o
 obj-$(CONFIG_I2C_MULTI_INSTANTIATE)	+= i2c-multi-instantiate.o
 obj-$(CONFIG_MLX_PLATFORM)		+= mlx-platform.o
-obj-$(CONFIG_TOUCHSCREEN_DMI)		+= touchscreen_dmi.o
 obj-$(CONFIG_WIRELESS_HOTKEY)		+= wireless-hotkey.o
 
 # Intel uncore drivers
diff --git a/drivers/platform/x86/touchscreen_dmi.c b/drivers/platform/x86/dmi_device_properties.c
similarity index 99%
rename from drivers/platform/x86/touchscreen_dmi.c
rename to drivers/platform/x86/dmi_device_properties.c
index b5d007875423..1bcd14a0bc78 100644
--- a/drivers/platform/x86/touchscreen_dmi.c
+++ b/drivers/platform/x86/dmi_device_properties.c
@@ -1,8 +1,8 @@
 // SPDX-License-Identifier: GPL-2.0-or-later
 /*
- * Touchscreen driver DMI based configuration code
+ * DMI based device-property addition (adding info missing from ACPI tables)
  *
- * Copyright (c) 2017 Red Hat Inc.
+ * Copyright (c) 2017-2021 Red Hat Inc.
  *
  * Red Hat authors:
  * Hans de Goede <hdegoede@redhat.com>
@@ -979,7 +979,7 @@ static const struct ts_dmi_data vinga_twizzle_j116_data = {
 };
 
 /* NOTE: Please keep this table sorted alphabetically */
-const struct dmi_system_id touchscreen_dmi_table[] = {
+const struct dmi_system_id dmi_device_properties[] = {
 	{
 		/* Chuwi Hi8 */
 		.driver_data = (void *)&chuwi_hi8_data,
@@ -1633,7 +1633,7 @@ static int __init ts_dmi_init(void)
 	const struct dmi_system_id *dmi_id;
 	int error;
 
-	dmi_id = dmi_first_match(touchscreen_dmi_table);
+	dmi_id = dmi_first_match(dmi_device_properties);
 	if (!dmi_id)
 		return 0; /* Not an error */
 
diff --git a/include/linux/efi_embedded_fw.h b/include/linux/efi_embedded_fw.h
index a97a12bb2c9e..01105c38a309 100644
--- a/include/linux/efi_embedded_fw.h
+++ b/include/linux/efi_embedded_fw.h
@@ -34,7 +34,7 @@ struct efi_embedded_fw_desc {
 	u8 sha256[32];
 };
 
-extern const struct dmi_system_id touchscreen_dmi_table[];
+extern const struct dmi_system_id dmi_device_properties[];
 
 int efi_get_embedded_fw(const char *name, const u8 **dat, size_t *sz);
 
-- 
2.31.1


  reply	other threads:[~2021-10-30 18:28 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-30 18:28 [PATCH 00/13] power-suppy/i2c/extcon: Add support for cht-wc PMIC without USB-PD support Hans de Goede
2021-10-30 18:28 ` Hans de Goede [this message]
2021-10-30 19:07   ` [PATCH 01/13] platform/x86: Rename touchscreen_dmi to dmi_device_properties Randy Dunlap
2021-10-30 18:28 ` [PATCH 02/13] platform/x86: dmi_device_properties: Add setup info for boards with a CHT Whiskey Cove PMIC Hans de Goede
2021-10-30 21:56   ` Andy Shevchenko
2021-11-08 15:48     ` Hans de Goede
2021-10-30 18:28 ` [PATCH 03/13] power: supply: bq25890: Fix race causing oops at boot Hans de Goede
2021-11-02 16:28   ` Sebastian Reichel
2021-10-30 18:28 ` [PATCH 04/13] power: supply: bq25890: Fix initial setting of the F_CONV_RATE field Hans de Goede
2021-11-02 16:29   ` Sebastian Reichel
2021-10-30 18:28 ` [PATCH 05/13] power: supply: bq25890: Add a bq25890_rw_init_data() helper Hans de Goede
2021-10-30 18:28 ` [PATCH 06/13] power: supply: bq25890: Add support for skipping initialization Hans de Goede
2021-10-30 22:07   ` Andy Shevchenko
2021-11-08 15:57     ` Hans de Goede
2021-10-30 18:28 ` [PATCH 07/13] power: supply: bq25890: Enable charging on boards where we skip reset Hans de Goede
2021-11-07 18:32   ` Yauhen Kharuzhy
2021-10-30 18:28 ` [PATCH 08/13] power: supply: bq25890: Drop dev->platform_data == NULL check Hans de Goede
2021-10-30 18:28 ` [PATCH 09/13] power: supply: bq25890: Add bq25890_set_otg_cfg() helper Hans de Goede
2021-10-30 22:10   ` Andy Shevchenko
2021-11-08 15:59     ` Hans de Goede
2021-11-07 18:49   ` Yauhen Kharuzhy
2021-11-07 19:47     ` Hans de Goede
2021-10-30 18:28 ` [PATCH 10/13] power: supply: bq25890: Add support for registering the Vbus boost converter as a regulator Hans de Goede
2021-10-30 22:13   ` Andy Shevchenko
2021-11-08 16:06     ` Hans de Goede
2021-10-30 18:28 ` [PATCH 11/13] i2c: cht-wc: Add support for devices using a bq25890 charger Hans de Goede
2021-10-31 17:58   ` Wolfram Sang
2021-11-08 16:03     ` Hans de Goede
2021-11-07 19:07   ` Yauhen Kharuzhy
2021-11-07 19:35     ` Yauhen Kharuzhy
2021-11-07 19:51     ` Hans de Goede
2021-10-30 18:28 ` [PATCH 12/13] extcon: intel-cht-wc: Check new "intel,cht-wc-setup" device-property Hans de Goede
2021-10-30 18:28 ` [PATCH 13/13] extcon: intel-cht-wc: Add support for devices with an USB-micro-B connector Hans de Goede
2021-10-31  6:35   ` kernel test robot
2021-10-31 11:08   ` kernel test robot
2021-10-31 12:52   ` Andy Shevchenko
2021-11-08 15:44     ` Hans de Goede

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211030182813.116672-2-hdegoede@redhat.com \
    --to=hdegoede@redhat.com \
    --cc=andy@infradead.org \
    --cc=ardb@kernel.org \
    --cc=cw00.choi@samsung.com \
    --cc=jekhor@gmail.com \
    --cc=kitakar@gmail.com \
    --cc=linux-efi@vger.kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=markgross@kernel.org \
    --cc=myungjoo.ham@samsung.com \
    --cc=platform-driver-x86@vger.kernel.org \
    --cc=sre@kernel.org \
    --cc=wsa@the-dreams.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.