ec/lenovo/h8/ssdt: Add keyboard backlight interface
Add methods MLCG and MLCS for thinkpad_acpi kernel module. Required for backlight or thinklight control from userspace. Change-Id: Ia65e770e772936c9c32be33c30839a2dee2a107c Signed-off-by: Patrick Rudolph <siro@das-labor.org> Reviewed-on: https://review.coreboot.org/21002 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
This commit is contained in:
parent
60eca531df
commit
6b7178aa10
|
@ -19,6 +19,7 @@ Device (HKEY)
|
|||
/* Generated by ssdt.c */
|
||||
External (\HBDC, IntObj)
|
||||
External (\HWAN, IntObj)
|
||||
External (\HKBL, IntObj)
|
||||
|
||||
Name (_HID, EisaId ("IBM0068"))
|
||||
|
||||
|
@ -228,4 +229,34 @@ Device (HKEY)
|
|||
/* FIXME: Store state at resume */
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Argument is unused.
|
||||
* Returns the current state:
|
||||
* Bit 9: Backlight HW present
|
||||
* Bit 0-1: Brightness level
|
||||
*/
|
||||
Method (MLCG, 1)
|
||||
{
|
||||
If (HKBL) {
|
||||
Store (0x200, Local0)
|
||||
/* FIXME: Support 2bit brightness control */
|
||||
Or (Local0, \_SB.PCI0.LPCB.EC.KBLT, Local0)
|
||||
Return (Local0)
|
||||
} Else {
|
||||
Return (0)
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Set the current state:
|
||||
* Bit 0-1: Brightness level
|
||||
*/
|
||||
Method (MLCS, 1)
|
||||
{
|
||||
If (HKBL) {
|
||||
/* FIXME: Support 2bit brightness control */
|
||||
Store (And(Arg0, 1), \_SB.PCI0.LPCB.EC.WWEB)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -36,6 +36,8 @@ static char *h8_dsdt_scope(struct device *dev, const char *scope)
|
|||
*/
|
||||
void h8_ssdt_generator(struct device *dev)
|
||||
{
|
||||
struct ec_lenovo_h8_config *conf = dev->chip_info;
|
||||
|
||||
if (!acpi_device_path(dev))
|
||||
return;
|
||||
|
||||
|
@ -47,6 +49,8 @@ void h8_ssdt_generator(struct device *dev)
|
|||
/* Used by thinkpad_acpi */
|
||||
acpigen_write_name_byte("HBDC", h8_has_bdc(dev) ? ONE_OP : ZERO_OP);
|
||||
acpigen_write_name_byte("HWAN", h8_has_wwan(dev) ? ONE_OP : ZERO_OP);
|
||||
acpigen_write_name_byte("HKBL", (conf && conf->has_keyboard_backlight) ?
|
||||
ONE_OP : ZERO_OP);
|
||||
|
||||
acpigen_pop_len(); /* Scope HKEY */
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue