summaryrefslogtreecommitdiffstats
path: root/drivers/platform/x86/classmate-laptop.c
diff options
context:
space:
mode:
authorBruno Prémont <bonbons@linux-vserver.org>2010-02-26 12:59:39 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2010-03-16 21:04:07 +0100
commitf0af78991363d704694a3618b638662c97d8a110 (patch)
tree8ce2e6618ba87536d11d43136f25bcadd932c585 /drivers/platform/x86/classmate-laptop.c
parentbacklight: mbp_nvidia_bl - add five more MacBook variants (diff)
downloadlinux-f0af78991363d704694a3618b638662c97d8a110.tar.xz
linux-f0af78991363d704694a3618b638662c97d8a110.zip
backlight: classmate-laptop - Fix missing registration failure handling
Check newly registered backlight_device for error and properly return error to parent. Mark struct backlight_ops as const. Signed-off-by: Bruno Prémont <bonbons@linux-vserver.org> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'drivers/platform/x86/classmate-laptop.c')
-rw-r--r--drivers/platform/x86/classmate-laptop.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/platform/x86/classmate-laptop.c b/drivers/platform/x86/classmate-laptop.c
index 6670ed8f9e5b..c696cf1c2616 100644
--- a/drivers/platform/x86/classmate-laptop.c
+++ b/drivers/platform/x86/classmate-laptop.c
@@ -455,7 +455,7 @@ static int cmpc_bl_update_status(struct backlight_device *bd)
return -1;
}
-static struct backlight_ops cmpc_bl_ops = {
+static const struct backlight_ops cmpc_bl_ops = {
.get_brightness = cmpc_bl_get_brightness,
.update_status = cmpc_bl_update_status
};
@@ -469,6 +469,8 @@ static int cmpc_bl_add(struct acpi_device *acpi)
props.max_brightness = 7;
bd = backlight_device_register("cmpc_bl", &acpi->dev, acpi->handle,
&cmpc_bl_ops, &props);
+ if (IS_ERR(bd))
+ return PTR_ERR(bd);
dev_set_drvdata(&acpi->dev, bd);
return 0;
}