Reset ACPI backlight on resume
PATCH 1/1 Reset ACPI backlight on resume
Some machines seem to need the backlight brightness to be reset on resume. Add support for doing so to the video module.
Signed-off-by Matthew Garrett <[email protected]>
---
drivers/acpi/video.c +21 -0
@@ -74,6 +74,7 @@ MODULE_LICENSE("GPL");static int acpi_video_bus_add (struct acpi_device *device);static int acpi_video_bus_remove (struct acpi_device *device,int type); +static int acpi_video_resume (struct acpi_device *device);static const struct acpi_device_id video_device_ids[] = { {ACPI_VIDEO_HID ,0 },
@@ -88,6 +89,7 @@ static struct acpi_driver acpi_video_bus = { .ops = { .add = acpi_video_bus_add, .remove = acpi_video_bus_remove, + .resume = acpi_video_resume, }, };
@@ -1896,6 +1900,25 @@ static void acpi_video_device_notify(acpi_handle handle, u32 event, void *data) }static int instance; +static int acpi_video_resume (struct acpi_device *device) +{ +struct acpi_video_bus *video; +struct acpi_video_device *video_device; +int i; + +if (!device || !acpi_driver_data (device)) +return -EINVAL ; + + video =acpi_driver_data (device); + +for (i=0 ; i<video->attached_count; i++) { + video_device = video->attached_array[i].bind_info; +if (video_device && video_device->backlight) +acpi_video_set_brightness (video_device->backlight); + } +return AE_OK ; +} +static int acpi_video_bus_add (struct acpi_device *device) {acpi_status status;
Signature · 1 line
Matthew Garrett | [email protected]