summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2010-05-15 15:03:16 +0000
committerMichael Sevakis <jethead71@rockbox.org>2010-05-15 15:03:16 +0000
commit414dad42c59f43919489f45236d57e1b345b8a65 (patch)
tree1b29c055a2a8a646fca4412b2167ae39347dfc19 /firmware
parente34c0593e7d859270695af08b2efc8b1e42e4473 (diff)
downloadrockbox-414dad42c59f43919489f45236d57e1b345b8a65.zip
rockbox-414dad42c59f43919489f45236d57e1b345b8a65.tar.gz
rockbox-414dad42c59f43919489f45236d57e1b345b8a65.tar.bz2
rockbox-414dad42c59f43919489f45236d57e1b345b8a65.tar.xz
If HAVE_POWEROFF_WHILE_CHARGING is not defined and the charging configuration specifies CHARGING_MONITOR or greater, allow poweroff while plugged but not actually charging the battery.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26055 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r--firmware/drivers/button.c4
-rw-r--r--firmware/powermgmt.c4
2 files changed, 8 insertions, 0 deletions
diff --git a/firmware/drivers/button.c b/firmware/drivers/button.c
index f7523d7..100957b 100644
--- a/firmware/drivers/button.c
+++ b/firmware/drivers/button.c
@@ -205,8 +205,12 @@ static void button_tick(void)
#endif
) &&
#if CONFIG_CHARGING && !defined(HAVE_POWEROFF_WHILE_CHARGING)
+#if CONFIG_CHARGING >= CHARGING_MONITOR
+ !charging_state() &&
+#else
!charger_inserted() &&
#endif
+#endif
repeat_count > POWEROFF_COUNT)
{
/* Tell the main thread that it's time to
diff --git a/firmware/powermgmt.c b/firmware/powermgmt.c
index f1dd83e..bf5734c 100644
--- a/firmware/powermgmt.c
+++ b/firmware/powermgmt.c
@@ -358,8 +358,12 @@ static void handle_auto_poweroff(void)
if (usb_inserted()
#if CONFIG_CHARGING && !defined(HAVE_POWEROFF_WHILE_CHARGING)
+#if CONFIG_CHARGING >= CHARGING_MONITOR
+ || charging_state()
+#else
|| charger_input_state != NO_CHARGER
#endif
+#endif
) {
DEBUGF("Sleep timer timeout. Stopping...\n");
set_sleep_timer(0);