diff options
author | Seth Forshee <seth.forshee@canonical.com> | 2012-04-19 11:55:35 -0400 |
---|---|---|
committer | Matthew Garrett <mjg@redhat.com> | 2012-05-31 14:23:39 -0400 |
commit | 96960880c31131ab906e7e0627ab89e8319c385e (patch) | |
tree | 191d3caccd82265c9b4f38575ec12453fe164b1f /drivers/platform | |
parent | bc7ab495c7532f06bc03021c0d78ac384fb13c14 (diff) |
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>
Diffstat (limited to 'drivers/platform')
-rw-r--r-- | drivers/platform/x86/apple-gmux.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/platform/x86/apple-gmux.c b/drivers/platform/x86/apple-gmux.c index 8a582bdfdc76..6dcef4f199bb 100644 --- a/drivers/platform/x86/apple-gmux.c +++ b/drivers/platform/x86/apple-gmux.c | |||
@@ -87,6 +87,9 @@ static int gmux_update_status(struct backlight_device *bd) | |||
87 | struct apple_gmux_data *gmux_data = bl_get_data(bd); | 87 | struct apple_gmux_data *gmux_data = bl_get_data(bd); |
88 | u32 brightness = bd->props.brightness; | 88 | u32 brightness = bd->props.brightness; |
89 | 89 | ||
90 | if (bd->props.state & BL_CORE_SUSPENDED) | ||
91 | brightness = 0; | ||
92 | |||
90 | /* | 93 | /* |
91 | * Older gmux versions require writing out lower bytes first then | 94 | * Older gmux versions require writing out lower bytes first then |
92 | * setting the upper byte to 0 to flush the values. Newer versions | 95 | * 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 | } | 105 | } |
103 | 106 | ||
104 | static const struct backlight_ops gmux_bl_ops = { | 107 | static const struct backlight_ops gmux_bl_ops = { |
108 | .options = BL_CORE_SUSPENDRESUME, | ||
105 | .get_brightness = gmux_get_brightness, | 109 | .get_brightness = gmux_get_brightness, |
106 | .update_status = gmux_update_status, | 110 | .update_status = gmux_update_status, |
107 | }; | 111 | }; |