| From d56ca3b4d9b0ce8bce34d2a875c302319c865607 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 10 Feb 2026 09:56:25 +0100 |
| Subject: platform/x86: intel-hid: Enable 5-button array on ThinkPad X1 Fold 16 |
| Gen 1 |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| From: Leif Skunberg <diamondback@cohunt.app> |
| |
| [ Upstream commit b38d478dad79e61e8a65931021bdfd7a71741212 ] |
| |
| 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> |
| Reviewed-by: Hans de Goede <johannes.goede@oss.qualcomm.com> |
| Link: https://patch.msgid.link/20260210085625.34380-1-diamondback@cohunt.app |
| Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> |
| Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| 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 9bc2652b15e71..12d695adf3f74 100644 |
| --- a/drivers/platform/x86/intel-hid.c |
| +++ b/drivers/platform/x86/intel-hid.c |
| @@ -93,6 +93,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.51.0 |
| |