diff options
| -rw-r--r-- | tmk_core/common/avr/suspend.c | 8 | 
1 files changed, 7 insertions, 1 deletions
| diff --git a/tmk_core/common/avr/suspend.c b/tmk_core/common/avr/suspend.c index 8a7272bbc5..939bda15eb 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)      sleep_disable();  } +#ifndef NO_SUSPEND_POWER_DOWN  /* Power down MCU with watchdog timer   * wdto: watchdog timer timeout defined in <avr/wdt.h>   *          WDTO_15MS @@ -61,6 +62,7 @@ void suspend_idle(uint8_t time)   *          WDTO_8S   */  static uint8_t wdt_timeout = 0; +  static void power_down(uint8_t wdto)  {  #ifdef PROTOCOL_LUFA @@ -98,10 +100,13 @@ static void power_down(uint8_t wdto)      // Disable watchdog after sleep      wdt_disable();  } +#endif  void suspend_power_down(void)  { +#ifndef NO_SUSPEND_POWER_DOWN      power_down(WDTO_15MS); +#endif  }  __attribute__ ((weak)) void matrix_power_up(void) {} @@ -109,8 +114,10 @@ __attribute__ ((weak)) void matrix_power_down(void) {}  bool suspend_wakeup_condition(void)  {  #ifdef BACKLIGHT_ENABLE +#ifndef NO_SUSPEND_POWER_DOWN      backlight_set(0);  #endif +#endif      matrix_power_up();      matrix_scan();      matrix_power_down(); @@ -126,7 +133,6 @@ void suspend_wakeup_init(void)      // clear keyboard state      clear_keyboard();  #ifdef BACKLIGHT_ENABLE -    backlight_set(0);      backlight_init();  #endif  led_set(host_keyboard_leds()); | 
