[PATCH] platform/x86: ideapad-laptop: Do not warn if KBLC reports no backlight
From: Punnay Sharma
Date: Sat Nov 07 2026 - 09:11:21 EST
On probe, the driver asks KBLC for the keyboard backlight type and
warns about any result other than 0x5 or 0x7.
The LOQ 15IRX10 with an RGB keyboard returns 0x1. Its KBLC sets bit 0
in every result, and sets bit 2 for the type query only if the EC field
GZ35 is 0. On this model GZ35 is not 0, and a separate USB controller
(048d:c693) drives the keyboard lights. So 0x1 means that KBLC controls
no keyboard backlight, but the driver logs on every boot:
ideapad_acpi VPC2004:00: Unknown keyboard type: 1
Add KBD_BL_NONE_TYPE for 0x1 and do not warn about it.
Tested on a Lenovo LOQ 15IRX10 (BIOS R3CN44WW).
Signed-off-by: Punnay Sharma <punnaysharma805@xxxxxxxxx>
---
KBD_BL_NONE_TYPE is placed last to avoid a conflict with Rong Zhang's
pending keyboard backlight series.
The same warning appears on other models, e.g. LOQ 15AHP10 [1] and
Legion 5 Pro 16ACH6H [2].
[1] https://lore.kernel.org/all/3f03931e7eafcb1781ca3cf922e588ab57caadcf@xxxxxxx/
[2] https://github.com/johnfanv2/LenovoLegionLinux/issues/336
drivers/platform/x86/lenovo/ideapad-laptop.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/platform/x86/lenovo/ideapad-laptop.c b/drivers/platform/x86/lenovo/ideapad-laptop.c
index fcb5ed7035f5..eb4158bed264 100644
--- a/drivers/platform/x86/lenovo/ideapad-laptop.c
+++ b/drivers/platform/x86/lenovo/ideapad-laptop.c
@@ -148,6 +148,7 @@ enum {
#define KBD_BL_QUERY_TYPE 0x1
#define KBD_BL_TRISTATE_TYPE 0x5
#define KBD_BL_TRISTATE_AUTO_TYPE 0x7
+#define KBD_BL_NONE_TYPE 0x1 /* No backlight through KBLC */
#define KBD_BL_COMMAND_GET 0x2
#define KBD_BL_COMMAND_SET 0x3
@@ -2246,7 +2247,7 @@ static int ideapad_check_features(struct ideapad_private *priv)
} else if (val == KBD_BL_TRISTATE_AUTO_TYPE) {
priv->features.kbd_bl = true;
priv->kbd_bl.type = KBD_BL_TRISTATE_AUTO;
- } else {
+ } else if (val != KBD_BL_NONE_TYPE) {
dev_warn(&priv->platform_device->dev,
"Unknown keyboard type: %lu",
val);
base-commit: c339f4010dea8b0d754f84ace70cd1b089878ef8
--
2.56.0