diff options
| author | Linus Nielsen Feltzing <linus@haxx.se> | 2003-08-25 08:57:49 +0000 |
|---|---|---|
| committer | Linus Nielsen Feltzing <linus@haxx.se> | 2003-08-25 08:57:49 +0000 |
| commit | 53ee344743d89a987b8a9ebe79aa7e732e824148 (patch) | |
| tree | ff28ef9ecd954fb4be16b7b6f7b992eca7396303 | |
| parent | 71316085de3b025e590297d28634d53c6edfb07c (diff) | |
| download | rockbox-53ee344743d89a987b8a9ebe79aa7e732e824148.zip rockbox-53ee344743d89a987b8a9ebe79aa7e732e824148.tar.gz rockbox-53ee344743d89a987b8a9ebe79aa7e732e824148.tar.bz2 rockbox-53ee344743d89a987b8a9ebe79aa7e732e824148.tar.xz | |
Slightly more correct initialization of the power/charging code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3940 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | apps/main.c | 2 | ||||
| -rw-r--r-- | firmware/drivers/power.c | 10 | ||||
| -rw-r--r-- | firmware/export/power.h | 1 | ||||
| -rw-r--r-- | firmware/export/powermgmt.h | 2 | ||||
| -rw-r--r-- | firmware/powermgmt.c | 4 |
5 files changed, 15 insertions, 4 deletions
diff --git a/apps/main.c b/apps/main.c index 4d329bb..d180067 100644 --- a/apps/main.c +++ b/apps/main.c @@ -146,7 +146,7 @@ void init(void) button_init(); - power_init(); /* moved up from below mpeg_init, hope that's not harmful */ + powermgmt_init(); if (coldstart && charger_inserted()) { diff --git a/firmware/drivers/power.c b/firmware/drivers/power.c index 7f6284d..a76021a 100644 --- a/firmware/drivers/power.c +++ b/firmware/drivers/power.c @@ -24,11 +24,19 @@ #include "power.h" #ifdef HAVE_CHARGE_CTRL -bool charger_enabled = 0; +bool charger_enabled; #endif #ifndef SIMULATOR +void power_init(void) +{ +#ifdef HAVE_CHARGE_CTRL + PBIOR |= 0x20; /* Set charging control bit to output */ + charger_enable(false); /* Default to charger OFF */ +#endif +} + bool charger_inserted(void) { #ifdef HAVE_CHARGE_CTRL diff --git a/firmware/export/power.h b/firmware/export/power.h index f4e7a0b..678260a 100644 --- a/firmware/export/power.h +++ b/firmware/export/power.h @@ -23,6 +23,7 @@ extern bool charger_enabled; #endif +void power_init(void); bool charger_inserted(void); void charger_enable(bool on); void ide_power_enable(bool on); diff --git a/firmware/export/powermgmt.h b/firmware/export/powermgmt.h index 4078667..4b4d040 100644 --- a/firmware/export/powermgmt.h +++ b/firmware/export/powermgmt.h @@ -80,7 +80,7 @@ extern int charge_state; /* tells what the charger is doing (for info di extern unsigned short power_history[POWER_HISTORY_LEN]; /* Start up power management thread */ -void power_init(void); +void powermgmt_init(void); #endif /* SIMULATOR */ diff --git a/firmware/powermgmt.c b/firmware/powermgmt.c index 13043cb..78f4a5a 100644 --- a/firmware/powermgmt.c +++ b/firmware/powermgmt.c @@ -685,8 +685,10 @@ static void power_thread(void) } } -void power_init(void) +void powermgmt_init(void) { + power_init(); + /* init history to 0 */ memset(power_history, 0x00, sizeof(power_history)); /* initialize the history with a single sample to prevent level |