Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1558235
| From | Michał Kępień <kernel@kempniu.pl> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH 3/4] platform/x86: fujitsu-laptop: sync backlight power status in acpi_fujitsu_hotkey_add() |
| Date | 2017-01-13 12:10 +0100 |
| Message-ID | <sZ7U6-7f-31@gated-at.bofh.it> (permalink) |
| References | <sZ7U5-7f-3@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
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>
---
drivers/platform/x86/fujitsu-laptop.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/drivers/platform/x86/fujitsu-laptop.c b/drivers/platform/x86/fujitsu-laptop.c
index df1cd0a0231d..6438bcce90d4 100644
--- a/drivers/platform/x86/fujitsu-laptop.c
+++ b/drivers/platform/x86/fujitsu-laptop.c
@@ -930,6 +930,14 @@ static int acpi_fujitsu_hotkey_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_device->props.power = FB_BLANK_POWERDOWN;
+ else
+ fujitsu->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->pf_device->dev,
@@ -1256,14 +1264,6 @@ static int __init fujitsu_init(void)
if (ret)
goto fail_hotkey1;
- /* 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_device->props.power = FB_BLANK_POWERDOWN;
- else
- fujitsu->bl_device->props.power = FB_BLANK_UNBLANK;
- }
-
pr_info("driver " FUJITSU_DRIVER_VERSION " successfully loaded\n");
return 0;
--
2.11.0
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH 0/4] fujitsu_init() cleanup Michał Kępień <kernel@kempniu.pl> - 2017-01-13 12:10 +0100
[PATCH 4/4] platform/x86: fujitsu-laptop: cleanup error labels in fujitsu_init() Michał Kępień <kernel@kempniu.pl> - 2017-01-13 12:10 +0100
[PATCH 1/4] platform/x86: fujitsu-laptop: simplify acpi_bus_register_driver() error handling Michał Kępień <kernel@kempniu.pl> - 2017-01-13 12:10 +0100
[PATCH 2/4] platform/x86: fujitsu-laptop: register backlight device in a separate function Michał Kępień <kernel@kempniu.pl> - 2017-01-13 12:10 +0100
[PATCH 3/4] platform/x86: fujitsu-laptop: sync backlight power status in acpi_fujitsu_hotkey_add() Michał Kępień <kernel@kempniu.pl> - 2017-01-13 12:10 +0100
Re: [PATCH 0/4] fujitsu_init() cleanup Jonathan Woithe <jwoithe@just42.net> - 2017-01-13 13:20 +0100
Re: [PATCH 0/4] fujitsu_init() cleanup Michał Kępień <kernel@kempniu.pl> - 2017-01-13 14:20 +0100
csiph-web