mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] platform/x86: intel-hid: Add HP ProBook x360 440 G1 to button_array_table
@ 2026-06-02 13:32 Nikolay Metchev
  2026-06-08 12:50 ` Ilpo Järvinen
  0 siblings, 1 reply; 5+ messages in thread
From: Nikolay Metchev @ 2026-06-02 13:32 UTC (permalink / raw)
  To: hansg; +Cc: Ilpo Järvinen, platform-driver-x86, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 943 bytes --]

The HP ProBook x360 440 G1 convertible sends
 5-button-array event codes
 (0xc4/0xc5 volume-up, 0xc6/0xc7 volume-down for the
 side volume rocker)
 to the intel-hid ACPI device (INT33D5), but it does
 not advertise the
 array through the HEBC capability method. As a result
 button_array_present() returns false, the "Intel HID
 5 button array"
 input device is never created, and the rocker events
 are dropped in
 notify_handler() with "intel-hid INT33D5:00: unknown
 event 0xc4".

 Add the machine to button_array_table so the 5 button
 array input
 device is set up, which makes the side volume rocker
 emit
 KEY_VOLUMEUP / KEY_VOLUMEDOWN as expected.

 Tested on an HP ProBook x360 440 G1: with
 enable_5_button_array=1
 (same code path as this quirk) the kernel logs
 "platform supports 5
 button array" and the rocker generates native
 KEY_VOLUMEUP /
 KEY_VOLUMEDOWN events.

 Signed-off-by: Nikolay Metchev
 <nikolaymetchev@gmail.com>

[-- Attachment #2: 0001-platform-x86-intel-hid-Add-HP-ProBook-x360-440-G1-to.patch --]
[-- Type: text/x-patch, Size: 1769 bytes --]

From 0d3c907430f3b36e1ce17ae7a786fff78ff2d2f9 Mon Sep 17 00:00:00 2001
From: Nikolay Metchev <nikolaymetchev@gmail.com>
Date: Tue, 2 Jun 2026 14:25:49 +0100
Subject: [PATCH] platform/x86: intel-hid: Add HP ProBook x360 440 G1 to
 button_array_table

The HP ProBook x360 440 G1 convertible sends 5-button-array event codes
(0xc4/0xc5 volume-up, 0xc6/0xc7 volume-down for the side volume rocker)
to the intel-hid ACPI device (INT33D5), but it does not advertise the
array through the HEBC capability method. As a result
button_array_present() returns false, the "Intel HID 5 button array"
input device is never created, and the rocker events are dropped in
notify_handler() with "intel-hid INT33D5:00: unknown event 0xc4".

Add the machine to button_array_table so the 5 button array input
device is set up, which makes the side volume rocker emit
KEY_VOLUMEUP / KEY_VOLUMEDOWN as expected.

Tested on an HP ProBook x360 440 G1: with enable_5_button_array=1
(same code path as this quirk) the kernel logs "platform supports 5
button array" and the rocker generates native KEY_VOLUMEUP /
KEY_VOLUMEDOWN events.

Signed-off-by: Nikolay Metchev <nikolaymetchev@gmail.com>
---
 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 0850935..73874d4 100644
--- a/drivers/platform/x86/intel/hid.c
+++ b/drivers/platform/x86/intel/hid.c
@@ -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"),
+		},
+	},
 	{ }
 };
 
-- 
2.54.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] platform/x86: intel-hid: Add HP ProBook x360 440 G1 to button_array_table
  2026-06-02 13:32 [PATCH] platform/x86: intel-hid: Add HP ProBook x360 440 G1 to button_array_table Nikolay Metchev
@ 2026-06-08 12:50 ` Ilpo Järvinen
  2026-06-09 21:33   ` [PATCH v2] " Nikolay Metchev
  0 siblings, 1 reply; 5+ messages in thread
From: Ilpo Järvinen @ 2026-06-08 12:50 UTC (permalink / raw)
  To: Nikolay Metchev; +Cc: Hans de Goede, platform-driver-x86, LKML

On Tue, 2 Jun 2026, Nikolay Metchev wrote:

> The HP ProBook x360 440 G1 convertible sends
>  5-button-array event codes
>  (0xc4/0xc5 volume-up, 0xc6/0xc7 volume-down for the
>  side volume rocker)
>  to the intel-hid ACPI device (INT33D5), but it does
>  not advertise the
>  array through the HEBC capability method. As a result
>  button_array_present() returns false, the "Intel HID
>  5 button array"
>  input device is never created, and the rocker events
>  are dropped in
>  notify_handler() with "intel-hid INT33D5:00: unknown
>  event 0xc4".
> 
>  Add the machine to button_array_table so the 5 button
>  array input
>  device is set up, which makes the side volume rocker
>  emit
>  KEY_VOLUMEUP / KEY_VOLUMEDOWN as expected.
> 
>  Tested on an HP ProBook x360 440 G1: with
>  enable_5_button_array=1
>  (same code path as this quirk) the kernel logs
>  "platform supports 5
>  button array" and the rocker generates native
>  KEY_VOLUMEUP /
>  KEY_VOLUMEDOWN events.
> 
>  Signed-off-by: Nikolay Metchev
>  <nikolaymetchev@gmail.com>

Please send the patch inline, not as an attachment.

-- 
 i.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v2] platform/x86: intel-hid: Add HP ProBook x360 440 G1 to button_array_table
  2026-06-08 12:50 ` Ilpo Järvinen
@ 2026-06-09 21:33   ` Nikolay Metchev
  2026-06-10  8:36     ` Hans de Goede
  2026-06-10 11:40     ` Ilpo Järvinen
  0 siblings, 2 replies; 5+ messages in thread
From: Nikolay Metchev @ 2026-06-09 21:33 UTC (permalink / raw)
  To: Hans de Goede, Ilpo Järvinen, Alex Hung
  Cc: platform-driver-x86, linux-kernel, Nikolay Metchev

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>
---
Changes since v1:
- Resend the patch inline instead of as an attachment, as requested.
- No code changes.

 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 085093506..73874d436 100644
--- a/drivers/platform/x86/intel/hid.c
+++ b/drivers/platform/x86/intel/hid.c
@@ -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"),
+		},
+	},
 	{ }
 };
 
-- 
2.54.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] platform/x86: intel-hid: Add HP ProBook x360 440 G1 to button_array_table
  2026-06-09 21:33   ` [PATCH v2] " Nikolay Metchev
@ 2026-06-10  8:36     ` Hans de Goede
  2026-06-10 11:40     ` Ilpo Järvinen
  1 sibling, 0 replies; 5+ messages in thread
From: Hans de Goede @ 2026-06-10  8:36 UTC (permalink / raw)
  To: Nikolay Metchev, Ilpo Järvinen, Alex Hung
  Cc: platform-driver-x86, linux-kernel

Hi,

On 9-Jun-26 23:33, Nikolay Metchev wrote:
> 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>

Thanks, patch looks good to me:

Reviewed-by: Hans de Goede <johannes.goede@oss.qualcomm.com>

Regards,

Hans



> ---
> Changes since v1:
> - Resend the patch inline instead of as an attachment, as requested.
> - No code changes.
> 
>  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 085093506..73874d436 100644
> --- a/drivers/platform/x86/intel/hid.c
> +++ b/drivers/platform/x86/intel/hid.c
> @@ -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"),
> +		},
> +	},
>  	{ }
>  };
>  


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] platform/x86: intel-hid: Add HP ProBook x360 440 G1 to button_array_table
  2026-06-09 21:33   ` [PATCH v2] " Nikolay Metchev
  2026-06-10  8:36     ` Hans de Goede
@ 2026-06-10 11:40     ` Ilpo Järvinen
  1 sibling, 0 replies; 5+ messages in thread
From: Ilpo Järvinen @ 2026-06-10 11:40 UTC (permalink / raw)
  To: Hans de Goede, Alex Hung, Nikolay Metchev
  Cc: platform-driver-x86, linux-kernel

On Tue, 09 Jun 2026 22:33:09 +0100, Nikolay Metchev wrote:

> 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.
> 
> [...]


Thank you for your contribution, it has been applied to my local
review-ilpo-next branch. Note it will show up in the public
platform-drivers-x86/review-ilpo-next 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: Add HP ProBook x360 440 G1 to button_array_table
      commit: c39023ca9a447f09c072080efc84d6874c2275c9

--
 i.


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-06-10 11:40 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-02 13:32 [PATCH] platform/x86: intel-hid: Add HP ProBook x360 440 G1 to button_array_table Nikolay Metchev
2026-06-08 12:50 ` Ilpo Järvinen
2026-06-09 21:33   ` [PATCH v2] " Nikolay Metchev
2026-06-10  8:36     ` Hans de Goede
2026-06-10 11:40     ` Ilpo Järvinen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome