mirror of
https://github.com/torvalds/linux.git
synced 2026-11-07 06:17:02 +01:00
platform/x86: asus-wmi: fix TUF keyboard power state shutdown naming
The fourth state flag of kbd_rgb_state_index is named "keyboard" and has
long been treated as having no effect. In hardware the flag, BIT(7) of
the payload sent to the TUF RGB state device, gates whether the keyboard
backlight stays lit while the machine powers off: with the bit set the
keyboard lights up white during the ACPI S5 sequence, with the bit clear
the machine powers off dark. Verified by A/B testing both values on a
TUF Gaming A15 (FA507NV).
Rename the fourth field and its index entry from "keyboard" to
"shutdown". The write format is unchanged, the value is still
positional, and the diff is two variable names and one string, so it
backports cleanly.
Fixes: 61f6451529 ("platform/x86: asus-wmi: Implement TUF laptop keyboard power states")
Cc: stable@vger.kernel.org
Signed-off-by: Bartu Alev <bartualev@gmail.com>
Link: https://patch.msgid.link/20261010101601.888709-3-bartualev@gmail.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
This commit is contained in:
parent
39b6fe1f4b
commit
3d9a175707
|
|
@ -1130,10 +1130,10 @@ static ssize_t kbd_rgb_state_store(struct device *dev,
|
|||
struct device_attribute *attr,
|
||||
const char *buf, size_t count)
|
||||
{
|
||||
u32 flags, cmd, boot, awake, sleep, keyboard;
|
||||
u32 flags, cmd, boot, awake, sleep, shutdown;
|
||||
int err;
|
||||
|
||||
if (sscanf(buf, "%d %d %d %d %d", &cmd, &boot, &awake, &sleep, &keyboard) != 5)
|
||||
if (sscanf(buf, "%d %d %d %d %d", &cmd, &boot, &awake, &sleep, &shutdown) != 5)
|
||||
return -EINVAL;
|
||||
|
||||
if (cmd)
|
||||
|
|
@ -1146,7 +1146,7 @@ static ssize_t kbd_rgb_state_store(struct device *dev,
|
|||
flags |= BIT(3);
|
||||
if (sleep)
|
||||
flags |= BIT(5);
|
||||
if (keyboard)
|
||||
if (shutdown)
|
||||
flags |= BIT(7);
|
||||
|
||||
/* 0xbd is the required default arg0 for the method. Nothing happens otherwise */
|
||||
|
|
@ -1160,7 +1160,7 @@ static ssize_t kbd_rgb_state_store(struct device *dev,
|
|||
static DEVICE_ATTR_WO(kbd_rgb_state);
|
||||
|
||||
static DEVICE_STRING_ATTR_RO(kbd_rgb_state_index, 0444,
|
||||
"cmd boot awake sleep keyboard");
|
||||
"cmd boot awake sleep shutdown");
|
||||
|
||||
static struct attribute *kbd_rgb_state_attrs[] = {
|
||||
&dev_attr_kbd_rgb_state.attr,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user