summaryrefslogtreecommitdiff
path: root/drivers/platform
diff options
context:
space:
mode:
authorBruno Prémont <bonbons@linux-vserver.org>2010-02-26 15:20:10 +0300
committerRichard Purdie <rpurdie@linux.intel.com>2010-03-16 23:13:31 +0300
commitec57af9c2ece22ae6234189972105d777ff5f939 (patch)
tree73979ad29548c133273a3130d6d10aa25591d5be /drivers/platform
parent28d85873cd6d8d3176e30e02b941b1329df1024c (diff)
downloadlinux-ec57af9c2ece22ae6234189972105d777ff5f939.tar.xz
backlight: panasonic-laptop - Fix incomplete registration failure handling
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>
Diffstat (limited to 'drivers/platform')
-rw-r--r--drivers/platform/x86/panasonic-laptop.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/platform/x86/panasonic-laptop.c b/drivers/platform/x86/panasonic-laptop.c
index ab5c9cea1462..726f02affcb6 100644
--- a/drivers/platform/x86/panasonic-laptop.c
+++ b/drivers/platform/x86/panasonic-laptop.c
@@ -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];