* [PATCH] platform/x86: intel-hid: Enable 5-button array on ThinkPad X1 Fold 16 Gen 1
@ 2026-02-10 8:56 Leif Skunberg
2026-02-10 10:57 ` Hans de Goede
2026-02-23 16:34 ` Ilpo Järvinen
0 siblings, 2 replies; 4+ messages in thread
From: Leif Skunberg @ 2026-02-10 8:56 UTC (permalink / raw)
To: alexhung
Cc: hansg, ilpo.jarvinen, platform-driver-x86, linux-kernel,
Leif Skunberg
The Lenovo ThinkPad X1 Fold 16 Gen 1 has physical volume up/down
buttons that are handled through the intel-hid 5-button array
interface. The firmware does not advertise 5-button array support via
HEBC, so the driver relies on a DMI allowlist to enable it.
Add the ThinkPad X1 Fold 16 Gen 1 to the button_array_table so the
volume buttons work out of the box.
Signed-off-by: Leif Skunberg <diamondback@cohunt.app>
---
drivers/platform/x86/intel/hid.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/platform/x86/intel/hid.c b/drivers/platform/x86/intel/hid.c
index 560cc0631..6f059740f 100644
--- a/drivers/platform/x86/intel/hid.c
+++ b/drivers/platform/x86/intel/hid.c
@@ -135,6 +135,13 @@ static const struct dmi_system_id button_array_table[] = {
DMI_MATCH(DMI_PRODUCT_FAMILY, "ThinkPad X1 Tablet Gen 2"),
},
},
+ {
+ .ident = "Lenovo ThinkPad X1 Fold 16 Gen 1",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+ DMI_MATCH(DMI_PRODUCT_FAMILY, "ThinkPad X1 Fold 16 Gen 1"),
+ },
+ },
{
.ident = "Microsoft Surface Go 3",
.matches = {
--
2.53.0
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH] platform/x86: intel-hid: Enable 5-button array on ThinkPad X1 Fold 16 Gen 1
2026-02-10 8:56 [PATCH] platform/x86: intel-hid: Enable 5-button array on ThinkPad X1 Fold 16 Gen 1 Leif Skunberg
@ 2026-02-10 10:57 ` Hans de Goede
2026-02-23 16:34 ` Ilpo Järvinen
1 sibling, 0 replies; 4+ messages in thread
From: Hans de Goede @ 2026-02-10 10:57 UTC (permalink / raw)
To: Leif Skunberg, alexhung; +Cc: ilpo.jarvinen, platform-driver-x86, linux-kernel
Hi,
On 10-Feb-26 09:56, Leif Skunberg wrote:
> The Lenovo ThinkPad X1 Fold 16 Gen 1 has physical volume up/down
> buttons that are handled through the intel-hid 5-button array
> interface. The firmware does not advertise 5-button array support via
> HEBC, so the driver relies on a DMI allowlist to enable it.
>
> Add the ThinkPad X1 Fold 16 Gen 1 to the button_array_table so the
> volume buttons work out of the box.
>
> Signed-off-by: Leif Skunberg <diamondback@cohunt.app>
Thanks, patch looks good to me:
Reviewed-by: Hans de Goede <johannes.goede@oss.qualcomm.com>
Regards,
Hans
> ---
> drivers/platform/x86/intel/hid.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/platform/x86/intel/hid.c b/drivers/platform/x86/intel/hid.c
> index 560cc0631..6f059740f 100644
> --- a/drivers/platform/x86/intel/hid.c
> +++ b/drivers/platform/x86/intel/hid.c
> @@ -135,6 +135,13 @@ static const struct dmi_system_id button_array_table[] = {
> DMI_MATCH(DMI_PRODUCT_FAMILY, "ThinkPad X1 Tablet Gen 2"),
> },
> },
> + {
> + .ident = "Lenovo ThinkPad X1 Fold 16 Gen 1",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_PRODUCT_FAMILY, "ThinkPad X1 Fold 16 Gen 1"),
> + },
> + },
> {
> .ident = "Microsoft Surface Go 3",
> .matches = {
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH] platform/x86: intel-hid: Enable 5-button array on ThinkPad X1 Fold 16 Gen 1
2026-02-10 8:56 [PATCH] platform/x86: intel-hid: Enable 5-button array on ThinkPad X1 Fold 16 Gen 1 Leif Skunberg
2026-02-10 10:57 ` Hans de Goede
@ 2026-02-23 16:34 ` Ilpo Järvinen
1 sibling, 0 replies; 4+ messages in thread
From: Ilpo Järvinen @ 2026-02-23 16:34 UTC (permalink / raw)
To: alexhung, Leif Skunberg; +Cc: hansg, platform-driver-x86, linux-kernel
On Tue, 10 Feb 2026 09:56:25 +0100, Leif Skunberg wrote:
> The Lenovo ThinkPad X1 Fold 16 Gen 1 has physical volume up/down
> buttons that are handled through the intel-hid 5-button array
> interface. The firmware does not advertise 5-button array support via
> HEBC, so the driver relies on a DMI allowlist to enable it.
>
> Add the ThinkPad X1 Fold 16 Gen 1 to the button_array_table so the
> volume buttons work out of the box.
>
> [...]
Thank you for your contribution, it has been applied to my local
review-ilpo-fixes branch. Note it will show up in the public
platform-drivers-x86/review-ilpo-fixes branch only once I've pushed my
local branch there, which might take a while.
The list of commits applied:
[1/1] platform/x86: intel-hid: Enable 5-button array on ThinkPad X1 Fold 16 Gen 1
commit: b38d478dad79e61e8a65931021bdfd7a71741212
--
i.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH] platform/x86: intel-hid: Enable 5-button array on ThinkPad X1 Fold 16 Gen 1
@ 2026-02-10 8:24 Leif Skunberg
0 siblings, 0 replies; 4+ messages in thread
From: Leif Skunberg @ 2026-02-10 8:24 UTC (permalink / raw)
To: hdegoede; +Cc: platform-driver-x86, linux-kernel, Leif Skunberg
The Lenovo ThinkPad X1 Fold 16 Gen 1 has physical volume up/down
buttons that are handled through the intel-hid 5-button array
interface. The firmware does not advertise 5-button array support via
HEBC, so the driver relies on a DMI allowlist to enable it.
Add the ThinkPad X1 Fold 16 Gen 1 to the button_array_table so the
volume buttons work out of the box.
Signed-off-by: Leif Skunberg <diamondback@cohunt.app>
---
drivers/platform/x86/intel/hid.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/platform/x86/intel/hid.c b/drivers/platform/x86/intel/hid.c
index 560cc0631..6f059740f 100644
--- a/drivers/platform/x86/intel/hid.c
+++ b/drivers/platform/x86/intel/hid.c
@@ -135,6 +135,13 @@ static const struct dmi_system_id button_array_table[] = {
DMI_MATCH(DMI_PRODUCT_FAMILY, "ThinkPad X1 Tablet Gen 2"),
},
},
+ {
+ .ident = "Lenovo ThinkPad X1 Fold 16 Gen 1",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+ DMI_MATCH(DMI_PRODUCT_FAMILY, "ThinkPad X1 Fold 16 Gen 1"),
+ },
+ },
{
.ident = "Microsoft Surface Go 3",
.matches = {
--
2.53.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-02-23 16:34 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-10 8:56 [PATCH] platform/x86: intel-hid: Enable 5-button array on ThinkPad X1 Fold 16 Gen 1 Leif Skunberg
2026-02-10 10:57 ` Hans de Goede
2026-02-23 16:34 ` Ilpo Järvinen
-- strict thread matches above, loose matches on Subject: below --
2026-02-10 8:24 Leif Skunberg
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox