]>
Commit | Line | Data |
---|---|---|
2cb7cef9 BS |
1 | From: Thomas Renninger <trenn@suse.de> |
2 | Subject: [PATCH] fujitsu-laptop: fingers off backlight if video.ko is serving this functionality | |
3 | Patch-Mainline: queued for .28 in Len's/ak's ACPI tree | |
4 | ||
5 | commit 44cce15b053d27477980e34b1086e0c3ce642afe | |
6 | ||
7 | Signed-off-by: Thomas Renninger <trenn@suse.de> | |
8 | Signed-off-by: Andi Kleen <ak@linux.intel.com> | |
9 | --- | |
10 | drivers/misc/fujitsu-laptop.c | 26 ++++++++++++++------------ | |
11 | 1 file changed, 14 insertions(+), 12 deletions(-) | |
12 | ||
13 | --- a/drivers/misc/fujitsu-laptop.c | |
14 | +++ b/drivers/misc/fujitsu-laptop.c | |
15 | @@ -970,16 +970,16 @@ static int __init fujitsu_init(void) | |
16 | ||
17 | /* Register backlight stuff */ | |
18 | ||
19 | - fujitsu->bl_device = | |
20 | - backlight_device_register("fujitsu-laptop", NULL, NULL, | |
21 | - &fujitsubl_ops); | |
22 | - if (IS_ERR(fujitsu->bl_device)) | |
23 | - return PTR_ERR(fujitsu->bl_device); | |
24 | - | |
25 | - max_brightness = fujitsu->max_brightness; | |
26 | - | |
27 | - fujitsu->bl_device->props.max_brightness = max_brightness - 1; | |
28 | - fujitsu->bl_device->props.brightness = fujitsu->brightness_level; | |
29 | + if (!acpi_video_backlight_support()) { | |
30 | + fujitsu->bl_device = | |
31 | + backlight_device_register("fujitsu-laptop", NULL, NULL, | |
32 | + &fujitsubl_ops); | |
33 | + if (IS_ERR(fujitsu->bl_device)) | |
34 | + return PTR_ERR(fujitsu->bl_device); | |
35 | + max_brightness = fujitsu->max_brightness; | |
36 | + fujitsu->bl_device->props.max_brightness = max_brightness - 1; | |
37 | + fujitsu->bl_device->props.brightness = fujitsu->brightness_level; | |
38 | + } | |
39 | ||
40 | ret = platform_driver_register(&fujitsupf_driver); | |
41 | if (ret) | |
42 | @@ -1015,7 +1015,8 @@ fail_hotkey: | |
43 | ||
44 | fail_backlight: | |
45 | ||
46 | - backlight_device_unregister(fujitsu->bl_device); | |
47 | + if (fujitsu->bl_device) | |
48 | + backlight_device_unregister(fujitsu->bl_device); | |
49 | ||
50 | fail_platform_device2: | |
51 | ||
52 | @@ -1042,7 +1043,8 @@ static void __exit fujitsu_cleanup(void) | |
53 | &fujitsupf_attribute_group); | |
54 | platform_device_unregister(fujitsu->pf_device); | |
55 | platform_driver_unregister(&fujitsupf_driver); | |
56 | - backlight_device_unregister(fujitsu->bl_device); | |
57 | + if (fujitsu->bl_device) | |
58 | + backlight_device_unregister(fujitsu->bl_device); | |
59 | ||
60 | acpi_bus_unregister_driver(&acpi_fujitsu_driver); | |
61 |