summaryrefslogtreecommitdiffstats
path: root/firmware/powermgmt.c
diff options
context:
space:
mode:
authorJames Buren <braewoods+rb@braewoods.net>2020-11-14 11:56:53 +0000
committerJames Buren <braewoods+rb@braewoods.net>2020-11-14 11:57:32 +0000
commitd5a2aeb6c48d0533dddcc743154b074d1f813928 (patch)
treecff9d28eb7a177dbe0df84a6d1d31232d8e44993 /firmware/powermgmt.c
parent03cd7730510558d6434f205743d71c3e197df608 (diff)
downloadrockbox-d5a2aeb6c48d0533dddcc743154b074d1f813928.tar.gz
rockbox-d5a2aeb6c48d0533dddcc743154b074d1f813928.zip
rockbox: revise charger_inserted and power_input_present functions
This makes it so the thread cached variable is only read if building the regular firmware. For bootloaders the data is now read directly. This fixes the functions for bootloaders so they do not have to import the power management code just so these functions will work when in the bootloader. Change-Id: Ic425b02c08b48df7a11a6c19c022b0e1cb316a85
Diffstat (limited to 'firmware/powermgmt.c')
-rw-r--r--firmware/powermgmt.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/firmware/powermgmt.c b/firmware/powermgmt.c
index dacafee8e0..6cac300cdf 100644
--- a/firmware/powermgmt.c
+++ b/firmware/powermgmt.c
@@ -467,14 +467,24 @@ static inline void charging_algorithm_close(void)
/* Returns true if any power input is capable of charging. */
bool charger_inserted(void)
{
- return power_thread_inputs & POWER_INPUT_CHARGER;
+#ifndef BOOTLOADER
+ unsigned int data = power_thread_inputs;
+#else
+ unsigned int data = power_input_status();
+#endif
+ return data & POWER_INPUT_CHARGER;
}
/* Returns true if any power input is connected - charging-capable
* or not. */
bool power_input_present(void)
{
- return power_thread_inputs & POWER_INPUT;
+#ifndef BOOTLOADER
+ unsigned int data = power_thread_inputs;
+#else
+ unsigned int data = power_input_status();
+#endif
+ return data & POWER_INPUT;
}
/*