summaryrefslogtreecommitdiff
path: root/firmware/target/hosted/ibasso/power-ibasso.c
diff options
context:
space:
mode:
authorSolomon Peachy <pizza@shaftnet.org>2021-03-10 18:10:00 -0500
committerSolomon Peachy <pizza@shaftnet.org>2021-03-10 18:29:29 -0500
commit555299af9f0ee71c1ad86a6c6846748861be458b (patch)
tree2237e2991231cf529420f52c10a91912ed94bf06 /firmware/target/hosted/ibasso/power-ibasso.c
parentb3b8310e4e07902a8280a120948f0c32c85e67de (diff)
downloadrockbox-555299af9f0ee71c1ad86a6c6846748861be458b.tar.gz
rockbox-555299af9f0ee71c1ad86a6c6846748861be458b.zip
hosted: Consolidate the code that polls the battery charging status
affects all hiby targets, fiiom3k, and ibasso dx50/dx90 As well as deduplicating a small pile of code, this also implements hysteresis so we're not doing a sysfs read/lookup multiple times back-to-back every time the power management tick fires. Change-Id: I2f7672acbb36341becf67e07960c24c681270d09
Diffstat (limited to 'firmware/target/hosted/ibasso/power-ibasso.c')
-rw-r--r--firmware/target/hosted/ibasso/power-ibasso.c41
1 files changed, 0 insertions, 41 deletions
diff --git a/firmware/target/hosted/ibasso/power-ibasso.c b/firmware/target/hosted/ibasso/power-ibasso.c
index 8257de5f33..7d37913c7b 100644
--- a/firmware/target/hosted/ibasso/power-ibasso.c
+++ b/firmware/target/hosted/ibasso/power-ibasso.c
@@ -36,27 +36,6 @@
36#include "sysfs-ibasso.h" 36#include "sysfs-ibasso.h"
37#include "vold-ibasso.h" 37#include "vold-ibasso.h"
38 38
39
40unsigned int power_input_status(void)
41{
42 /*TRACE;*/
43
44 /*
45 /sys/class/power_supply/usb/present
46 0: No external power supply connected.
47 1: External power supply connected.
48 */
49 int val = 0;
50 if(! sysfs_get_int(SYSFS_USB_POWER_PRESENT, &val))
51 {
52 DEBUGF("ERROR %s: Can not get power supply status.", __func__);
53 return POWER_INPUT_NONE;
54 }
55
56 return val ? POWER_INPUT_USB_CHARGER : POWER_INPUT_NONE;
57}
58
59
60void power_off(void) 39void power_off(void)
61{ 40{
62 TRACE; 41 TRACE;
@@ -75,23 +54,3 @@ void power_off(void)
75 54
76 reboot(RB_POWER_OFF); 55 reboot(RB_POWER_OFF);
77} 56}
78
79
80/* Returns true, if battery is charging, false else. */
81bool charging_state(void)
82{
83 /*TRACE;*/
84
85 /*
86 /sys/class/power_supply/battery/status
87 "Full", "Charging", "Discharging"
88 */
89 char state[9];
90 if(! sysfs_get_string(SYSFS_BATTERY_STATUS, state, 9))
91 {
92 DEBUGF("ERROR %s: Can not get battery charging state.", __func__);
93 return false;
94 }
95
96 return(strcmp(state, "Charging") == 0);;
97}