mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-01-15 14:10:43 +00:00
platform/x86: fujitsu-laptop: sync backlight power status in acpi_fujitsu_laptop_add()
Registering an ACPI driver does not mean the device it handles has to exist. As the code which syncs backlight power status uses call_fext_func(), it needs the FUJ02E3 ACPI device to be present, so ensure that code is only run once the FUJ02E3 device is detected. Signed-off-by: Michał Kępień <kernel@kempniu.pl> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-and-tested-by: Jonathan Woithe <jwoithe@just42.net>
This commit is contained in:
parent
b8d69c16a0
commit
1877e267b3
@ -947,6 +947,14 @@ static int acpi_fujitsu_laptop_add(struct acpi_device *device)
|
||||
/* Suspect this is a keymap of the application panel, print it */
|
||||
pr_info("BTNI: [0x%x]\n", call_fext_func(FUNC_BUTTONS, 0x0, 0x0, 0x0));
|
||||
|
||||
/* Sync backlight power status */
|
||||
if (acpi_video_get_backlight_type() == acpi_backlight_vendor) {
|
||||
if (call_fext_func(FUNC_BACKLIGHT, 0x2, 0x4, 0x0) == 3)
|
||||
fujitsu_bl->bl_device->props.power = FB_BLANK_POWERDOWN;
|
||||
else
|
||||
fujitsu_bl->bl_device->props.power = FB_BLANK_UNBLANK;
|
||||
}
|
||||
|
||||
#if IS_ENABLED(CONFIG_LEDS_CLASS)
|
||||
if (call_fext_func(FUNC_LEDS, 0x0, 0x0, 0x0) & LOGOLAMP_POWERON) {
|
||||
result = led_classdev_register(&fujitsu_bl->pf_device->dev,
|
||||
@ -1264,14 +1272,6 @@ static int __init fujitsu_init(void)
|
||||
if (ret)
|
||||
goto fail_laptop1;
|
||||
|
||||
/* Sync backlight power status (needs FUJ02E3 device, hence deferred) */
|
||||
if (acpi_video_get_backlight_type() == acpi_backlight_vendor) {
|
||||
if (call_fext_func(FUNC_BACKLIGHT, 0x2, 0x4, 0x0) == 3)
|
||||
fujitsu_bl->bl_device->props.power = FB_BLANK_POWERDOWN;
|
||||
else
|
||||
fujitsu_bl->bl_device->props.power = FB_BLANK_UNBLANK;
|
||||
}
|
||||
|
||||
pr_info("driver " FUJITSU_DRIVER_VERSION " successfully loaded\n");
|
||||
|
||||
return 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user