/* SPDX-License-Identifier: GPL-2.0-only */ Scope (\_SB) { /* * Chrome EC Keyboard Backlight interface */ Device (KBLT) { Name (_HID, "GOOG0002") Name (_UID, 1) /* Ask EC if we even have a backlight * Return 0xf (present, enabled, show in UI, functioning) or 0 * * With older EC codebases that don't support the Device * Features bitfield, this reports the keyboard backlight as * enabled since reads to undefined addresses in EC address * space return 0xff and so KBLE will be 1. */ Method (_STA, 0, NotSerialized) { /* If query is unsupported, but this code is compiled * in, assume the backlight exists physically. */ If (\_SB.PCI0.LPCB.EC0.DFUD == 1) { Return (0xf) } /* If EC reports that backlight exists, trust it */ If (\_SB.PCI0.LPCB.EC0.KBLE == 1) { Return (0xf) } /* Otherwise: no device -> disable */ Return (0) } /* Read current backlight value */ Method (KBQC, 0, NotSerialized) { Return (\_SB.PCI0.LPCB.EC0.KBLV) } /* Write new backlight value */ Method (KBCM, 1, NotSerialized) { Store (Arg0, \_SB.PCI0.LPCB.EC0.KBLV) } } }