diff mbox series

Input: goodix - Add Lenovo Yoga Book X90F to nine_bytes_report DMI table

Message ID 20230315134442.71787-1-hdegoede@redhat.com (mailing list archive)
State Accepted
Commit 8a0432bab6ea3203d220785da7ab3c7677f70ecb
Headers show
Series Input: goodix - Add Lenovo Yoga Book X90F to nine_bytes_report DMI table | expand

Commit Message

Hans de Goede March 15, 2023, 1:44 p.m. UTC
The Android Lenovo Yoga Book X90F / X90L uses the same goodix touchscreen
with 9 bytes touch reports for its touch keyboard as the already supported
Windows Lenovo Yoga Book X91F/L, add a DMI match for this to
the nine_bytes_report DMI table.

When the quirk for the X91F/L was initially added it was written to
also apply to the X90F/L but this does not work because the Android
version of the Yoga Book uses completely different DMI strings.
Also adjust the X91F/L quirk to reflect that it only applies to
the X91F/L models.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 drivers/input/touchscreen/goodix.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

Comments

Bastien Nocera March 16, 2023, 9:19 a.m. UTC | #1
On Wed, 2023-03-15 at 14:44 +0100, Hans de Goede wrote:
> The Android Lenovo Yoga Book X90F / X90L uses the same goodix
> touchscreen
> with 9 bytes touch reports for its touch keyboard as the already
> supported
> Windows Lenovo Yoga Book X91F/L, add a DMI match for this to
> the nine_bytes_report DMI table.
> 
> When the quirk for the X91F/L was initially added it was written to
> also apply to the X90F/L but this does not work because the Android
> version of the Yoga Book uses completely different DMI strings.
> Also adjust the X91F/L quirk to reflect that it only applies to
> the X91F/L models.
> 
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>

LGTM

Reviewed-by: Bastien Nocera <hadess@hadess.net>

> ---
>  drivers/input/touchscreen/goodix.c | 14 +++++++++++---
>  1 file changed, 11 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/input/touchscreen/goodix.c
> b/drivers/input/touchscreen/goodix.c
> index 3c71f0df9769..88c223a4da61 100644
> --- a/drivers/input/touchscreen/goodix.c
> +++ b/drivers/input/touchscreen/goodix.c
> @@ -128,10 +128,18 @@ static const unsigned long goodix_irq_flags[] =
> {
>  static const struct dmi_system_id nine_bytes_report[] = {
>  #if defined(CONFIG_DMI) && defined(CONFIG_X86)
>         {
> -               .ident = "Lenovo YogaBook",
> -               /* YB1-X91L/F and YB1-X90L/F */
> +               /* Lenovo Yoga Book X90F / X90L */
>                 .matches = {
> -                       DMI_MATCH(DMI_PRODUCT_NAME, "Lenovo YB1-X9")
> +                       DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Intel
> Corporation"),
> +                       DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "CHERRYVIEW
> D1 PLATFORM"),
> +                       DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "YETI-
> 11"),
> +               }
> +       },
> +       {
> +               /* Lenovo Yoga Book X91F / X91L */
> +               .matches = {
> +                       /* Non exact match to match F + L versions */
> +                       DMI_MATCH(DMI_PRODUCT_NAME, "Lenovo YB1-
> X91"),
>                 }
>         },
>  #endif
Dmitry Torokhov March 17, 2023, 10:36 a.m. UTC | #2
On Wed, Mar 15, 2023 at 02:44:42PM +0100, Hans de Goede wrote:
> The Android Lenovo Yoga Book X90F / X90L uses the same goodix touchscreen
> with 9 bytes touch reports for its touch keyboard as the already supported
> Windows Lenovo Yoga Book X91F/L, add a DMI match for this to
> the nine_bytes_report DMI table.
> 
> When the quirk for the X91F/L was initially added it was written to
> also apply to the X90F/L but this does not work because the Android
> version of the Yoga Book uses completely different DMI strings.
> Also adjust the X91F/L quirk to reflect that it only applies to
> the X91F/L models.
> 
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>

Applied, thank you.
diff mbox series

Patch

diff --git a/drivers/input/touchscreen/goodix.c b/drivers/input/touchscreen/goodix.c
index 3c71f0df9769..88c223a4da61 100644
--- a/drivers/input/touchscreen/goodix.c
+++ b/drivers/input/touchscreen/goodix.c
@@ -128,10 +128,18 @@  static const unsigned long goodix_irq_flags[] = {
 static const struct dmi_system_id nine_bytes_report[] = {
 #if defined(CONFIG_DMI) && defined(CONFIG_X86)
 	{
-		.ident = "Lenovo YogaBook",
-		/* YB1-X91L/F and YB1-X90L/F */
+		/* Lenovo Yoga Book X90F / X90L */
 		.matches = {
-			DMI_MATCH(DMI_PRODUCT_NAME, "Lenovo YB1-X9")
+			DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Intel Corporation"),
+			DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "CHERRYVIEW D1 PLATFORM"),
+			DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "YETI-11"),
+		}
+	},
+	{
+		/* Lenovo Yoga Book X91F / X91L */
+		.matches = {
+			/* Non exact match to match F + L versions */
+			DMI_MATCH(DMI_PRODUCT_NAME, "Lenovo YB1-X91"),
 		}
 	},
 #endif