backlight: panasonic-laptop - Fix incomplete registration failure handling
authorBruno Prémont <bonbons@linux-vserver.org>
Fri, 26 Feb 2010 12:20:10 +0000 (13:20 +0100)
committerRichard Purdie <rpurdie@linux.intel.com>
Tue, 16 Mar 2010 20:13:31 +0000 (20:13 +0000)
Properly return backlight registration error to parent.
Mark struct backlight_ops as const.

Signed-off-by: Bruno Prémont <bonbons@linux-vserver.org>
Acked-by: Harald Welte <laforge@gnumonks.org> (registration failure)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
drivers/platform/x86/panasonic-laptop.c

index ab5c9ce..726f02a 100644 (file)
@@ -352,7 +352,7 @@ static int bl_set_status(struct backlight_device *bd)
        return acpi_pcc_write_sset(pcc, SINF_DC_CUR_BRIGHT, bright);
 }
 
-static struct backlight_ops pcc_backlight_ops = {
+static const struct backlight_ops pcc_backlight_ops = {
        .get_brightness = bl_get,
        .update_status  = bl_set_status,
 };
@@ -651,8 +651,10 @@ static int acpi_pcc_hotkey_add(struct acpi_device *device)
        props.max_brightness = pcc->sinf[SINF_AC_MAX_BRIGHT];
        pcc->backlight = backlight_device_register("panasonic", NULL, pcc,
                                                   &pcc_backlight_ops, &props);
-       if (IS_ERR(pcc->backlight))
+       if (IS_ERR(pcc->backlight)) {
+               result = PTR_ERR(pcc->backlight);
                goto out_sinf;
+       }
 
        /* read the initial brightness setting from the hardware */
        pcc->backlight->props.brightness = pcc->sinf[SINF_AC_CUR_BRIGHT];