diff options
Diffstat (limited to 'src/ec/google/chromeec/acpi/keyboard_backlight.asl')
-rw-r--r-- | src/ec/google/chromeec/acpi/keyboard_backlight.asl | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/ec/google/chromeec/acpi/keyboard_backlight.asl b/src/ec/google/chromeec/acpi/keyboard_backlight.asl index d76bed87ea..1edce819d1 100644 --- a/src/ec/google/chromeec/acpi/keyboard_backlight.asl +++ b/src/ec/google/chromeec/acpi/keyboard_backlight.asl @@ -33,8 +33,18 @@ Scope (\_SB) */ Method (_STA, 0, NotSerialized) { - Multiply (0xf, \_SB.PCI0.LPCB.EC0.KBLE, Local0) - Return (Local0) + /* If query is unsupported, but this code is compiled + * in, assume the backlight exists physically. + */ + If (LEqual (1, \_SB.PCI0.LPCB.EC0.DFUD)) { + Return (0xf) + } + /* If EC reports that backlight exists, trust it */ + If (LEqual (1, \_SB.PCI0.LPCB.EC0.KBLE)) { + Return (0xf) + } + /* Otherwise: no device -> disable */ + Return (0) } /* Read current backlight value */ |