Parcourir la source

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>
Bruno Prémont il y a 15 ans
Parent
commit
f0af789913
1 fichiers modifiés avec 3 ajouts et 1 suppressions
  1. 3 1
      drivers/platform/x86/classmate-laptop.c

+ 3 - 1
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;
 }