diff options
author | Sebastian Leonhardt <sebastian.leonhardt@web.de> | 2016-06-28 02:05:25 +0200 |
---|---|---|
committer | Sebastian Leonhardt <sebastian.leonhardt@web.de> | 2019-02-07 22:10:52 +0100 |
commit | 287685932e53849192020092bce7d7a21d9e2a71 (patch) | |
tree | 7d9c1f0cff0dbc0928735d7f7d678b804a0eb5e2 | |
parent | 03e63da3165fa2ea02286a4497d2e9cf0bdc6ea6 (diff) | |
download | rockbox-287685932e53849192020092bce7d7a21d9e2a71.tar.gz rockbox-287685932e53849192020092bce7d7a21d9e2a71.zip |
Fix lcd not waking up when backlight is always off
This patch is relevant for targets with a transflective display.
If the backlight was set to "always off" (e.g. to use the lcd
in a pure passive way), and the sleep timer ran off, the LCD
would stay disabled and didn't wake up when a button is pressed.
Change-Id: I0a157c7f421d9fc4c7d8ba903f2cf93f6cef51d0
-rw-r--r-- | firmware/backlight.c | 4 | ||||
-rw-r--r-- | firmware/export/backlight.h | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/firmware/backlight.c b/firmware/backlight.c index 3acc89c27c..caff55ce5e 100644 --- a/firmware/backlight.c +++ b/firmware/backlight.c | |||
@@ -499,6 +499,10 @@ static void backlight_update_state(void) | |||
499 | if (UNLIKELY(timeout < 0)) | 499 | if (UNLIKELY(timeout < 0)) |
500 | { | 500 | { |
501 | do_backlight_off(); | 501 | do_backlight_off(); |
502 | #if defined(HAVE_TRANSFLECTIVE_LCD) && defined(HAVE_LCD_SLEEP) | ||
503 | /* LCD must be enabled to allow "passive" operation (backlight always off) */ | ||
504 | lcd_awake(); | ||
505 | #endif | ||
502 | #if (CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_SW_SETTING) \ | 506 | #if (CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_SW_SETTING) \ |
503 | || (CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_SW_HW_REG) | 507 | || (CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_SW_HW_REG) |
504 | /* necessary step to issue fading down when the setting is selected */ | 508 | /* necessary step to issue fading down when the setting is selected */ |
diff --git a/firmware/export/backlight.h b/firmware/export/backlight.h index 6d029790b3..326de4ce28 100644 --- a/firmware/export/backlight.h +++ b/firmware/export/backlight.h | |||
@@ -64,6 +64,10 @@ void lcd_set_sleep_after_backlight_off(int timeout_seconds); | |||
64 | void lcd_awake(void); | 64 | void lcd_awake(void); |
65 | #endif | 65 | #endif |
66 | 66 | ||
67 | #ifdef HAVE_LCD_SLEEP | ||
68 | void lcd_awake(void); | ||
69 | #endif | ||
70 | |||
67 | #else /* !HAVE_BACKLIGHT */ | 71 | #else /* !HAVE_BACKLIGHT */ |
68 | #define backlight_init() | 72 | #define backlight_init() |
69 | #endif /* !HAVE_BACKLIGHT */ | 73 | #endif /* !HAVE_BACKLIGHT */ |