diff options
-rw-r--r-- | tmk_core/common/avr/suspend.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/tmk_core/common/avr/suspend.c b/tmk_core/common/avr/suspend.c index 8a7272bbc..0c81e8361 100644 --- a/tmk_core/common/avr/suspend.c +++ b/tmk_core/common/avr/suspend.c | |||
@@ -47,6 +47,7 @@ void suspend_idle(uint8_t time) | |||
47 | sleep_disable(); | 47 | sleep_disable(); |
48 | } | 48 | } |
49 | 49 | ||
50 | #ifndef NO_SUSPEND_POWER_DOWN | ||
50 | /* Power down MCU with watchdog timer | 51 | /* Power down MCU with watchdog timer |
51 | * wdto: watchdog timer timeout defined in <avr/wdt.h> | 52 | * wdto: watchdog timer timeout defined in <avr/wdt.h> |
52 | * WDTO_15MS | 53 | * WDTO_15MS |
@@ -61,6 +62,7 @@ void suspend_idle(uint8_t time) | |||
61 | * WDTO_8S | 62 | * WDTO_8S |
62 | */ | 63 | */ |
63 | static uint8_t wdt_timeout = 0; | 64 | static uint8_t wdt_timeout = 0; |
65 | |||
64 | static void power_down(uint8_t wdto) | 66 | static void power_down(uint8_t wdto) |
65 | { | 67 | { |
66 | #ifdef PROTOCOL_LUFA | 68 | #ifdef PROTOCOL_LUFA |
@@ -98,19 +100,19 @@ static void power_down(uint8_t wdto) | |||
98 | // Disable watchdog after sleep | 100 | // Disable watchdog after sleep |
99 | wdt_disable(); | 101 | wdt_disable(); |
100 | } | 102 | } |
103 | #endif | ||
101 | 104 | ||
102 | void suspend_power_down(void) | 105 | void suspend_power_down(void) |
103 | { | 106 | { |
107 | #ifndef NO_SUSPEND_POWER_DOWN | ||
104 | power_down(WDTO_15MS); | 108 | power_down(WDTO_15MS); |
109 | #endif | ||
105 | } | 110 | } |
106 | 111 | ||
107 | __attribute__ ((weak)) void matrix_power_up(void) {} | 112 | __attribute__ ((weak)) void matrix_power_up(void) {} |
108 | __attribute__ ((weak)) void matrix_power_down(void) {} | 113 | __attribute__ ((weak)) void matrix_power_down(void) {} |
109 | bool suspend_wakeup_condition(void) | 114 | bool suspend_wakeup_condition(void) |
110 | { | 115 | { |
111 | #ifdef BACKLIGHT_ENABLE | ||
112 | backlight_set(0); | ||
113 | #endif | ||
114 | matrix_power_up(); | 116 | matrix_power_up(); |
115 | matrix_scan(); | 117 | matrix_scan(); |
116 | matrix_power_down(); | 118 | matrix_power_down(); |
@@ -126,10 +128,9 @@ void suspend_wakeup_init(void) | |||
126 | // clear keyboard state | 128 | // clear keyboard state |
127 | clear_keyboard(); | 129 | clear_keyboard(); |
128 | #ifdef BACKLIGHT_ENABLE | 130 | #ifdef BACKLIGHT_ENABLE |
129 | backlight_set(0); | ||
130 | backlight_init(); | 131 | backlight_init(); |
131 | #endif | 132 | #endif |
132 | led_set(host_keyboard_leds()); | 133 | led_set(host_keyboard_leds()); |
133 | } | 134 | } |
134 | 135 | ||
135 | #ifndef NO_SUSPEND_POWER_DOWN | 136 | #ifndef NO_SUSPEND_POWER_DOWN |