Commit a1aabd5f authored by Michał Kępień's avatar Michał Kępień Committed by Darren Hart (VMware)

platform/x86: fujitsu-laptop: switch to a managed backlight device

Use a managed backlight device to get rid of acpi_fujitsu_bl_remove().
Change the parent of the backlight device from NULL to the FUJ02B1 ACPI
device as the latter is required for the backlight device to work.
Signed-off-by: default avatarMichał Kępień <kernel@kempniu.pl>
Reviewed-by: default avatarJonathan Woithe <jwoithe@just42.net>
Signed-off-by: default avatarDarren Hart (VMware) <dvhart@infradead.org>
parent 07acf62a
...@@ -550,17 +550,18 @@ static int acpi_fujitsu_bl_input_setup(struct acpi_device *device) ...@@ -550,17 +550,18 @@ static int acpi_fujitsu_bl_input_setup(struct acpi_device *device)
return input_register_device(fujitsu_bl->input); return input_register_device(fujitsu_bl->input);
} }
static int fujitsu_backlight_register(void) static int fujitsu_backlight_register(struct acpi_device *device)
{ {
struct backlight_properties props = { const struct backlight_properties props = {
.brightness = fujitsu_bl->brightness_level, .brightness = fujitsu_bl->brightness_level,
.max_brightness = fujitsu_bl->max_brightness - 1, .max_brightness = fujitsu_bl->max_brightness - 1,
.type = BACKLIGHT_PLATFORM .type = BACKLIGHT_PLATFORM
}; };
struct backlight_device *bd; struct backlight_device *bd;
bd = backlight_device_register("fujitsu-laptop", NULL, NULL, bd = devm_backlight_device_register(&device->dev, "fujitsu-laptop",
&fujitsu_bl_ops, &props); &device->dev, NULL,
&fujitsu_bl_ops, &props);
if (IS_ERR(bd)) if (IS_ERR(bd))
return PTR_ERR(bd); return PTR_ERR(bd);
...@@ -629,24 +630,13 @@ static int acpi_fujitsu_bl_add(struct acpi_device *device) ...@@ -629,24 +630,13 @@ static int acpi_fujitsu_bl_add(struct acpi_device *device)
fujitsu_bl->max_brightness = FUJITSU_LCD_N_LEVELS; fujitsu_bl->max_brightness = FUJITSU_LCD_N_LEVELS;
get_lcd_level(); get_lcd_level();
error = fujitsu_backlight_register(); error = fujitsu_backlight_register(device);
if (error) if (error)
return error; return error;
return 0; return 0;
} }
static int acpi_fujitsu_bl_remove(struct acpi_device *device)
{
struct fujitsu_bl *fujitsu_bl = acpi_driver_data(device);
backlight_device_unregister(fujitsu_bl->bl_device);
fujitsu_bl->acpi_handle = NULL;
return 0;
}
/* Brightness notify */ /* Brightness notify */
static void acpi_fujitsu_bl_notify(struct acpi_device *device, u32 event) static void acpi_fujitsu_bl_notify(struct acpi_device *device, u32 event)
...@@ -1077,7 +1067,6 @@ static struct acpi_driver acpi_fujitsu_bl_driver = { ...@@ -1077,7 +1067,6 @@ static struct acpi_driver acpi_fujitsu_bl_driver = {
.ids = fujitsu_bl_device_ids, .ids = fujitsu_bl_device_ids,
.ops = { .ops = {
.add = acpi_fujitsu_bl_add, .add = acpi_fujitsu_bl_add,
.remove = acpi_fujitsu_bl_remove,
.notify = acpi_fujitsu_bl_notify, .notify = acpi_fujitsu_bl_notify,
}, },
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment