aboutsummaryrefslogtreecommitdiff
path: root/src/ec/google/chromeec/acpi/keyboard_backlight.asl
diff options
context:
space:
mode:
Diffstat (limited to 'src/ec/google/chromeec/acpi/keyboard_backlight.asl')
-rw-r--r--src/ec/google/chromeec/acpi/keyboard_backlight.asl14
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 */