* [PATCH] platform/x86: ideapad-laptop: Do not warn if KBLC reports no backlight
@ 2026-11-07 14:05 Punnay Sharma
2026-11-07 14:49 ` Rong Zhang
0 siblings, 1 reply; 3+ messages in thread
From: Punnay Sharma @ 2026-11-07 14:05 UTC (permalink / raw)
To: Hans de Goede, Ilpo Järvinen, Ike Panhc
Cc: Punnay Sharma, Mark Pearson, Derek J. Clark, Rong Zhang,
Stuart Hayhurst, platform-driver-x86, linux-kernel
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@gmail.com>
---
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@lavx.hu/
[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
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] platform/x86: ideapad-laptop: Do not warn if KBLC reports no backlight
2026-11-07 14:05 [PATCH] platform/x86: ideapad-laptop: Do not warn if KBLC reports no backlight Punnay Sharma
@ 2026-11-07 14:49 ` Rong Zhang
2026-11-10 1:29 ` Mark Pearson
0 siblings, 1 reply; 3+ messages in thread
From: Rong Zhang @ 2026-11-07 14:49 UTC (permalink / raw)
To: Punnay Sharma, Hans de Goede, Ilpo Järvinen, Ike Panhc
Cc: Artem, Mark Pearson, Derek J. Clark, Stuart Hayhurst,
platform-driver-x86, linux-kernel
Hi Punnay,
On Sat, 2026-11-07 at 19:35 +0530, Punnay Sharma wrote:
> 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).
+CC Artem.
It seems that some devices provides functional KBLC despite
KBD_BL_QUERY_TYPE returns 0x1. See
https://bugzilla.kernel.org/show_bug.cgi?id=221198
Mark, Derek, could you check the documentation about keyboard backlight
type?
Thanks,
Rong
>
> Signed-off-by: Punnay Sharma <punnaysharma805@gmail.com>
> ---
> 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@lavx.hu/
> [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
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] platform/x86: ideapad-laptop: Do not warn if KBLC reports no backlight
2026-11-07 14:49 ` Rong Zhang
@ 2026-11-10 1:29 ` Mark Pearson
0 siblings, 0 replies; 3+ messages in thread
From: Mark Pearson @ 2026-11-10 1:29 UTC (permalink / raw)
To: Rong Zhang, Punnay Sharma, Hans de Goede, Ilpo Järvinen, Ike Panhc
Cc: Artem, Derek J . Clark, Stuart Hayhurst, platform-driver-x86,
linux-kernel
On Sat, Nov 7, 2026, at 9:49 AM, Rong Zhang wrote:
> Hi Punnay,
>
> On Sat, 2026-11-07 at 19:35 +0530, Punnay Sharma wrote:
>> 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).
>
> +CC Artem.
>
> It seems that some devices provides functional KBLC despite
> KBD_BL_QUERY_TYPE returns 0x1. See
> https://bugzilla.kernel.org/show_bug.cgi?id=221198
>
> Mark, Derek, could you check the documentation about keyboard backlight
> type?
>
> Thanks,
> Rong
>
>>
>> Signed-off-by: Punnay Sharma <punnaysharma805@gmail.com>
>> ---
>> 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@lavx.hu/
>> [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
Afraid I don't have any documentation handy, but I reached out to the Thinkbook team (using the BZ ticket) as I have some contacts there and they might be able to help. Will see if I hear back.
Mark
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-11-10 1:30 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-07 14:05 [PATCH] platform/x86: ideapad-laptop: Do not warn if KBLC reports no backlight Punnay Sharma
2026-11-07 14:49 ` Rong Zhang
2026-11-10 1:29 ` Mark Pearson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®