Commit 96960880 authored by Seth Forshee's avatar Seth Forshee Committed by Matthew Garrett

apple-gmux: Add suspend/resume support for the backlight

After S3, the brightness might not be restored to the pre-suspend value.
Request status update calls from the backlight core on suspend/resume to
ensure the brightness value is restored.
Reported-and-tested-by: default avatarAustin Lund <austin.lund@gmail.com>
Signed-off-by: default avatarSeth Forshee <seth.forshee@canonical.com>
Signed-off-by: default avatarMatthew Garrett <mjg@redhat.com>
parent bc7ab495
...@@ -87,6 +87,9 @@ static int gmux_update_status(struct backlight_device *bd) ...@@ -87,6 +87,9 @@ static int gmux_update_status(struct backlight_device *bd)
struct apple_gmux_data *gmux_data = bl_get_data(bd); struct apple_gmux_data *gmux_data = bl_get_data(bd);
u32 brightness = bd->props.brightness; u32 brightness = bd->props.brightness;
if (bd->props.state & BL_CORE_SUSPENDED)
brightness = 0;
/* /*
* Older gmux versions require writing out lower bytes first then * Older gmux versions require writing out lower bytes first then
* setting the upper byte to 0 to flush the values. Newer versions * setting the upper byte to 0 to flush the values. Newer versions
...@@ -102,6 +105,7 @@ static int gmux_update_status(struct backlight_device *bd) ...@@ -102,6 +105,7 @@ static int gmux_update_status(struct backlight_device *bd)
} }
static const struct backlight_ops gmux_bl_ops = { static const struct backlight_ops gmux_bl_ops = {
.options = BL_CORE_SUSPENDRESUME,
.get_brightness = gmux_get_brightness, .get_brightness = gmux_get_brightness,
.update_status = gmux_update_status, .update_status = gmux_update_status,
}; };
......
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