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: Austin Lund <austin.lund@gmail.com> Signed-off-by: Seth Forshee <seth.forshee@canonical.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
This commit is contained in:
parent
bc7ab495c7
commit
96960880c3
|
@ -87,6 +87,9 @@ static int gmux_update_status(struct backlight_device *bd)
|
|||
struct apple_gmux_data *gmux_data = bl_get_data(bd);
|
||||
u32 brightness = bd->props.brightness;
|
||||
|
||||
if (bd->props.state & BL_CORE_SUSPENDED)
|
||||
brightness = 0;
|
||||
|
||||
/*
|
||||
* Older gmux versions require writing out lower bytes first then
|
||||
* 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)
|
|||
}
|
||||
|
||||
static const struct backlight_ops gmux_bl_ops = {
|
||||
.options = BL_CORE_SUSPENDRESUME,
|
||||
.get_brightness = gmux_get_brightness,
|
||||
.update_status = gmux_update_status,
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue