summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
Diffstat (limited to 'firmware')
-rw-r--r--firmware/drivers/power.c5
-rw-r--r--firmware/export/power.h19
2 files changed, 17 insertions, 7 deletions
diff --git a/firmware/drivers/power.c b/firmware/drivers/power.c
index 5feece6..d7750a3 100644
--- a/firmware/drivers/power.c
+++ b/firmware/drivers/power.c
@@ -105,13 +105,12 @@ void power_init(void)
#endif
}
+
#ifdef HAVE_CHARGING
bool charger_inserted(void)
{
-#if defined(IRIVER_H100_SERIES)
+#if defined(IRIVER_H100_SERIES) || defined(IRIVER_H300_SERIES)
return (GPIO1_READ & 0x00400000)?true:false;
-#elif defined(IRIVER_H300_SERIES)
- return (GPIO1_READ & 0x00400000) || usb_powered();
#elif defined(GMINI_ARCH)
return (P7 & 0x80) == 0;
#elif defined(IAUDIO_X5)
diff --git a/firmware/export/power.h b/firmware/export/power.h
index 9f91e25..be8ebda 100644
--- a/firmware/export/power.h
+++ b/firmware/export/power.h
@@ -21,15 +21,26 @@
#ifdef HAVE_CHARGE_CTRL
extern bool charger_enabled;
+void charger_enable(bool on);
#endif
-void power_init(void);
+#ifdef HAVE_CHARGING
bool charger_inserted(void);
-bool charging_state(void);
-void charger_enable(bool on);
+#endif
+
+void power_off(void);
void ide_power_enable(bool on);
+
+#ifndef SIMULATOR
+
+void power_init(void);
+
+# ifdef HAVE_CHARGE_STATE
+bool charging_state(void);
+# endif
+
bool ide_powered(void);
-void power_off(void);
+#endif
#ifdef HAVE_SPDIF_POWER
void spdif_power_enable(bool on);