Skip to content

Commit

Permalink
sony_acpi: Fix sony_acpi backlight registration and unregistration
Browse files Browse the repository at this point in the history
Initialize the current brightness if the driver registration
was successful and unregister the driver in the error exit path.

Signed-off-by: Mattia Dongili <malattia@linux.it>
Signed-off-by: Len Brown <len.brown@intel.com>
  • Loading branch information
Mattia Dongili authored and Len Brown committed Feb 13, 2007
1 parent 57ede70 commit 7df03b8
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions drivers/acpi/sony_acpi.c
Original file line number Diff line number Diff line change
Expand Up @@ -354,9 +354,14 @@ static int sony_acpi_add(struct acpi_device *device)
if (ACPI_SUCCESS(acpi_get_handle(sony_acpi_handle, "GBRT", &handle))) {
sony_backlight_device = backlight_device_register("sony", NULL,
NULL, &sony_backlight_properties);

if (IS_ERR(sony_backlight_device)) {
printk(LOG_PFX "unable to register backlight device\n");
sony_backlight_device = NULL;
}
else
sony_backlight_properties.brightness =
sony_backlight_get_brightness(sony_backlight_device);
}

for (item = sony_acpi_values; item->name; ++item) {
Expand Down Expand Up @@ -400,6 +405,9 @@ static int sony_acpi_add(struct acpi_device *device)
return 0;

outproc:
if (sony_backlight_device)
backlight_device_unregister(sony_backlight_device);

for (item = sony_acpi_values; item->name; ++item)
if (item->proc)
remove_proc_entry(item->name, acpi_device_dir(device));
Expand Down

0 comments on commit 7df03b8

Please sign in to comment.