]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
platform/x86: intel-hid: Add HP ProBook x360 440 G1 to button_array_table
authorNikolay Metchev <nikolaymetchev@gmail.com>
Tue, 9 Jun 2026 21:33:09 +0000 (22:33 +0100)
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Wed, 10 Jun 2026 11:08:42 +0000 (14:08 +0300)
The volume rocker buttons on the HP ProBook x360 440 G1 convertible emit
events 0xc4-0xc7 via the intel-hid ACPI device (INT33D5). These codes are
only present in intel_array_keymap, which is used when the "5 button
array" input device exists. On this machine button_array_present()
returns false because the firmware does not advertise the array through
the HEBC method, so notify_handler() routes the events to a NULL
priv->array and they are dropped as "unknown event 0xc4". As a result
the side volume keys do nothing.

Add the machine to button_array_table so the array device is created and
the volume rocker emits KEY_VOLUMEUP / KEY_VOLUMEDOWN. This is equivalent
to booting with the enable_5_button_array=1 module parameter, which was
used to confirm the fix on the affected hardware.

Signed-off-by: Nikolay Metchev <nikolaymetchev@gmail.com>
Reviewed-by: Hans de Goede <johannes.goede@oss.qualcomm.com>
Link: https://patch.msgid.link/20260609213309.445019-1-nikolaymetchev@gmail.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
drivers/platform/x86/intel/hid.c

index 085093506dda9c311c8304f8b3eefd624bfabb60..73874d4369c1689a46c99cae4e4fca8f1a089334 100644 (file)
@@ -156,6 +156,13 @@ static const struct dmi_system_id button_array_table[] = {
                        DMI_MATCH(DMI_PRODUCT_NAME, "Surface Go 4"),
                },
        },
+       {
+               .ident = "HP ProBook x360 440 G1",
+               .matches = {
+                       DMI_MATCH(DMI_SYS_VENDOR, "HP"),
+                       DMI_MATCH(DMI_PRODUCT_NAME, "HP ProBook x360 440 G1"),
+               },
+       },
        { }
 };