From: Sasha Levin <sashal@kernel.org>
To: patches@lists.linux.dev, stable@vger.kernel.org
Cc: "Jia Ston" <ston.jia@outlook.com>,
"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
"Sasha Levin" <sashal@kernel.org>,
hansg@kernel.org, platform-driver-x86@vger.kernel.org
Subject: [PATCH AUTOSEL 6.17-5.10] platform/x86: huawei-wmi: add keys for HONOR models
Date: Mon, 24 Nov 2025 03:06:15 -0500 [thread overview]
Message-ID: <20251124080644.3871678-1-sashal@kernel.org> (raw)
From: Jia Ston <ston.jia@outlook.com>
[ Upstream commit 5c72329716d0858621021193330594d5d26bf44d ]
HONOR MagicBook X16/X14 models produced in 2025 cannot use the Print
Screen and YOYO keys properly, with the system reporting them as
unknown key presses (codes: 0x028b and 0x028e).
To resolve this, a key_entry is added for both the HONOR Print Screen
key and the HONOR YOYO key, ensuring they function correctly on these
models.
Signed-off-by: Ston Jia <ston.jia@outlook.com>
Link: https://patch.msgid.link/20251029051804.220111-1-ston.jia@outlook.com
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>
---
LLM Generated explanations, may be completely bogus:
### Comprehensive Analysis
1. **Commit Message and Issue Analysis**
The commit addresses a functional hardware defect on HONOR MagicBook
X16/X14 laptops (2025 models). The "Print Screen" and "YOYO" keys do
not generate input events, instead triggering "Unknown key pressed"
warning logs with scancodes `0x028b` and `0x028e`. This means users
cannot use these hardware features, which constitutes a real-world bug
for owners of these devices.
2. **Code Review and Mechanism**
The fix is a surgical addition to the `huawei_wmi_keymap` array in
`drivers/platform/x86/huawei-wmi.c`.
- **Mechanism:** The driver uses `sparse_keymap_entry_from_scancode`
to translate WMI events into input events. Without these entries,
the lookup fails, and the driver drops the event.
- **Change:** Two lines are added:
```c
{ KE_KEY, 0x28b, { KEY_NOTIFICATION_CENTER } },
{ KE_KEY, 0x28e, { KEY_PRINT } },
```
- **Dependencies:** `KEY_NOTIFICATION_CENTER` was introduced in
Linux 5.10. This patch is suitable for stable trees 5.10, 5.15,
6.1, and 6.6 without modification. Older LTS versions (4.19, 5.4)
would require a minor adjustment (using a different keycode or
backporting the definition), but the patch remains conceptually
valid for them.
3. **Stable Kernel Rules Assessment**
- **Exception Category:** This commit falls squarely under the
**"QUIRKS and WORKAROUNDS"** and **"TRIVIAL SUBSYSTEM-SPECIFIC
ADDITIONS"** exceptions defined in stable kernel rules. Adding
keymap entries is functionally identical to adding PCI/USB IDs: it
enables hardware that is currently present but non-functional.
- **Feature vs. Fix:** While the commit says "add keys," it is
fixing broken hardware support. The keys physically exist but do
not work; enabling them is a fix, not a new software feature.
- **New Hardware on Stable:** While the hardware is from 2025, it is
common for users to run Long Term Support (LTS) kernels (e.g.,
Ubuntu LTS, RHEL, or community LTS kernels like 6.6.y) on new
hardware. Refusing to backport hardware enablement forces these
users to run bleeding-edge kernels or suffer broken functionality.
4. **Risk vs. Benefit**
- **Regression Risk:** **Negligible.** The change adds data to a
static array. It only affects the handling of two specific
scancodes (`0x28b`, `0x28e`) which previously resulted in an error
log. It cannot affect existing key mappings or other hardware.
- **Benefit:** Restores functionality for the "Print Screen" key
(essential for workflows) and the specific "YOYO" key on supported
laptops.
5. **Conclusion**
Although the commit lacks a "Cc: stable" tag, it meets all objective
criteria for a stable backport. It is an obviously correct, low-risk,
hardware-enabling fix that fits the "Quirks" exception. It should be
included to ensure this hardware works correctly on supported LTS
releases.
### TODO Items
- No further investigation required.
**YES**
drivers/platform/x86/huawei-wmi.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/platform/x86/huawei-wmi.c b/drivers/platform/x86/huawei-wmi.c
index c3772df34679f..8a4c54089ace3 100644
--- a/drivers/platform/x86/huawei-wmi.c
+++ b/drivers/platform/x86/huawei-wmi.c
@@ -81,6 +81,10 @@ static const struct key_entry huawei_wmi_keymap[] = {
{ KE_KEY, 0x289, { KEY_WLAN } },
// Huawei |M| key
{ KE_KEY, 0x28a, { KEY_CONFIG } },
+ // HONOR YOYO key
+ { KE_KEY, 0x28b, { KEY_NOTIFICATION_CENTER } },
+ // HONOR print screen
+ { KE_KEY, 0x28e, { KEY_PRINT } },
// Keyboard backlit
{ KE_IGNORE, 0x293, { KEY_KBDILLUMTOGGLE } },
{ KE_IGNORE, 0x294, { KEY_KBDILLUMUP } },
--
2.51.0
next reply other threads:[~2025-11-24 8:06 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-24 8:06 Sasha Levin [this message]
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17] platform/x86: intel-uncore-freq: Add additional client processors Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17-6.6] platform/x86/amd/pmc: Add spurious_8042 to Xbox Ally Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17] platform/x86/amd/pmc: Add support for Van Gogh SoC Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17] platform/x86/intel/hid: Add Nova Lake support Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17-5.4] platform/x86: acer-wmi: Ignore backlight event Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17-6.6] platform/x86/amd: pmc: Add Lenovo Legion Go 2 to pmc quirk list Sasha Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251124080644.3871678-1-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=hansg@kernel.org \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=patches@lists.linux.dev \
--cc=platform-driver-x86@vger.kernel.org \
--cc=stable@vger.kernel.org \
--cc=ston.jia@outlook.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox