sony-laptop: support basic functions for handle 0x14B and 0x14C
Z series and other recent models have 0x14? for lid and keyboard backlight. Signed-off-by: Mattia Dongili <malattia@linux.it> Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
This commit is contained in:
Родитель
3a7abcd809
Коммит
7517a17c1a
|
@ -1373,6 +1373,8 @@ static void sony_nc_function_setup(struct acpi_device *device,
|
|||
break;
|
||||
case 0x0137:
|
||||
case 0x0143:
|
||||
case 0x014b:
|
||||
case 0x014c:
|
||||
result = sony_nc_kbd_backlight_setup(pf_device, handle);
|
||||
if (result)
|
||||
pr_err("couldn't set up keyboard backlight function (%d)\n",
|
||||
|
@ -1435,6 +1437,8 @@ static void sony_nc_function_cleanup(struct platform_device *pd)
|
|||
break;
|
||||
case 0x0137:
|
||||
case 0x0143:
|
||||
case 0x014b:
|
||||
case 0x014c:
|
||||
sony_nc_kbd_backlight_cleanup(pd);
|
||||
break;
|
||||
default:
|
||||
|
@ -1479,6 +1483,8 @@ static void sony_nc_function_resume(void)
|
|||
break;
|
||||
case 0x0137:
|
||||
case 0x0143:
|
||||
case 0x014b:
|
||||
case 0x014c:
|
||||
sony_nc_kbd_backlight_resume();
|
||||
break;
|
||||
default:
|
||||
|
@ -2636,6 +2642,8 @@ static void sony_nc_backlight_ng_read_limits(int handle,
|
|||
lvl_table_len = 9;
|
||||
break;
|
||||
case 0x143:
|
||||
case 0x14b:
|
||||
case 0x14c:
|
||||
lvl_table_len = 16;
|
||||
break;
|
||||
}
|
||||
|
@ -2687,6 +2695,18 @@ static void sony_nc_backlight_setup(void)
|
|||
sony_nc_backlight_ng_read_limits(0x143, &sony_bl_props);
|
||||
max_brightness = sony_bl_props.maxlvl - sony_bl_props.offset;
|
||||
|
||||
} else if (sony_find_snc_handle(0x14b) >= 0) {
|
||||
ops = &sony_backlight_ng_ops;
|
||||
sony_bl_props.cmd_base = 0x3000;
|
||||
sony_nc_backlight_ng_read_limits(0x14b, &sony_bl_props);
|
||||
max_brightness = sony_bl_props.maxlvl - sony_bl_props.offset;
|
||||
|
||||
} else if (sony_find_snc_handle(0x14c) >= 0) {
|
||||
ops = &sony_backlight_ng_ops;
|
||||
sony_bl_props.cmd_base = 0x3000;
|
||||
sony_nc_backlight_ng_read_limits(0x14c, &sony_bl_props);
|
||||
max_brightness = sony_bl_props.maxlvl - sony_bl_props.offset;
|
||||
|
||||
} else if (ACPI_SUCCESS(acpi_get_handle(sony_nc_acpi_handle, "GBRT",
|
||||
&unused))) {
|
||||
ops = &sony_backlight_ops;
|
||||
|
|
Загрузка…
Ссылка в новой задаче