mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-03 18:12:25 -04:00
sony_acpi: Fix sony_acpi backlight registration and unregistration
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>
This commit is contained in:
committed by
Len Brown
parent
57ede701af
commit
7df03b82ed
@@ -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) {
|
||||
@@ -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));
|
||||
|
||||
Reference in New Issue
Block a user