]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/misc/fujitsu-laptop.c
USB: gadget rndis: stop windows self-immolation
[linux-2.6-omap-h63xx.git] / drivers / misc / fujitsu-laptop.c
index 5ec77ae08d921fc0379ada6db63785640559ef9c..a7dd3e9fb79de5aa4efde7b293f139d90c87e994 100644 (file)
@@ -1005,16 +1005,16 @@ static int __init fujitsu_init(void)
 
        /* Register backlight stuff */
 
-       fujitsu->bl_device =
-           backlight_device_register("fujitsu-laptop", NULL, NULL,
-                                     &fujitsubl_ops);
-       if (IS_ERR(fujitsu->bl_device))
-               return PTR_ERR(fujitsu->bl_device);
-
-       max_brightness = fujitsu->max_brightness;
-
-       fujitsu->bl_device->props.max_brightness = max_brightness - 1;
-       fujitsu->bl_device->props.brightness = fujitsu->brightness_level;
+       if (!acpi_video_backlight_support()) {
+               fujitsu->bl_device =
+                       backlight_device_register("fujitsu-laptop", NULL, NULL,
+                                                 &fujitsubl_ops);
+               if (IS_ERR(fujitsu->bl_device))
+                       return PTR_ERR(fujitsu->bl_device);
+               max_brightness = fujitsu->max_brightness;
+               fujitsu->bl_device->props.max_brightness = max_brightness - 1;
+               fujitsu->bl_device->props.brightness = fujitsu->brightness_level;
+       }
 
        ret = platform_driver_register(&fujitsupf_driver);
        if (ret)
@@ -1050,7 +1050,8 @@ fail_hotkey:
 
 fail_backlight:
 
-       backlight_device_unregister(fujitsu->bl_device);
+       if (fujitsu->bl_device)
+               backlight_device_unregister(fujitsu->bl_device);
 
 fail_platform_device2:
 
@@ -1077,7 +1078,8 @@ static void __exit fujitsu_cleanup(void)
                           &fujitsupf_attribute_group);
        platform_device_unregister(fujitsu->pf_device);
        platform_driver_unregister(&fujitsupf_driver);
-       backlight_device_unregister(fujitsu->bl_device);
+       if (fujitsu->bl_device)
+               backlight_device_unregister(fujitsu->bl_device);
 
        acpi_bus_unregister_driver(&acpi_fujitsu_driver);