]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blame - src/patches/suse-2.6.27.39/patches.arch/0006-fujitsu-laptop-fingers-off-backlight.patch
Imported linux-2.6.27.39 suse/xen patches.
[people/pmueller/ipfire-2.x.git] / src / patches / suse-2.6.27.39 / patches.arch / 0006-fujitsu-laptop-fingers-off-backlight.patch
CommitLineData
2cb7cef9
BS
1From: Thomas Renninger <trenn@suse.de>
2Subject: [PATCH] fujitsu-laptop: fingers off backlight if video.ko is serving this functionality
3Patch-Mainline: queued for .28 in Len's/ak's ACPI tree
4
5commit 44cce15b053d27477980e34b1086e0c3ce642afe
6
7Signed-off-by: Thomas Renninger <trenn@suse.de>
8Signed-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