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.tar.gz rockbox-53ee344743d89a987b8a9ebe79aa7e732e824148.zip |
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 4d329bb658..d180067c9e 100644 --- a/apps/main.c +++ b/apps/main.c | |||
@@ -146,7 +146,7 @@ void init(void) | |||
146 | 146 | ||
147 | button_init(); | 147 | button_init(); |
148 | 148 | ||
149 | power_init(); /* moved up from below mpeg_init, hope that's not harmful */ | 149 | powermgmt_init(); |
150 | 150 | ||
151 | if (coldstart && charger_inserted()) | 151 | if (coldstart && charger_inserted()) |
152 | { | 152 | { |
diff --git a/firmware/drivers/power.c b/firmware/drivers/power.c index 7f6284d3b7..a76021a5bf 100644 --- a/firmware/drivers/power.c +++ b/firmware/drivers/power.c | |||
@@ -24,11 +24,19 @@ | |||
24 | #include "power.h" | 24 | #include "power.h" |
25 | 25 | ||
26 | #ifdef HAVE_CHARGE_CTRL | 26 | #ifdef HAVE_CHARGE_CTRL |
27 | bool charger_enabled = 0; | 27 | bool charger_enabled; |
28 | #endif | 28 | #endif |
29 | 29 | ||
30 | #ifndef SIMULATOR | 30 | #ifndef SIMULATOR |
31 | 31 | ||
32 | void power_init(void) | ||
33 | { | ||
34 | #ifdef HAVE_CHARGE_CTRL | ||
35 | PBIOR |= 0x20; /* Set charging control bit to output */ | ||
36 | charger_enable(false); /* Default to charger OFF */ | ||
37 | #endif | ||
38 | } | ||
39 | |||
32 | bool charger_inserted(void) | 40 | bool charger_inserted(void) |
33 | { | 41 | { |
34 | #ifdef HAVE_CHARGE_CTRL | 42 | #ifdef HAVE_CHARGE_CTRL |
diff --git a/firmware/export/power.h b/firmware/export/power.h index f4e7a0b990..678260ac58 100644 --- a/firmware/export/power.h +++ b/firmware/export/power.h | |||
@@ -23,6 +23,7 @@ | |||
23 | extern bool charger_enabled; | 23 | extern bool charger_enabled; |
24 | #endif | 24 | #endif |
25 | 25 | ||
26 | void power_init(void); | ||
26 | bool charger_inserted(void); | 27 | bool charger_inserted(void); |
27 | void charger_enable(bool on); | 28 | void charger_enable(bool on); |
28 | void ide_power_enable(bool on); | 29 | void ide_power_enable(bool on); |
diff --git a/firmware/export/powermgmt.h b/firmware/export/powermgmt.h index 407866741b..4b4d040dcd 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 | |||
80 | extern unsigned short power_history[POWER_HISTORY_LEN]; | 80 | extern unsigned short power_history[POWER_HISTORY_LEN]; |
81 | 81 | ||
82 | /* Start up power management thread */ | 82 | /* Start up power management thread */ |
83 | void power_init(void); | 83 | void powermgmt_init(void); |
84 | 84 | ||
85 | #endif /* SIMULATOR */ | 85 | #endif /* SIMULATOR */ |
86 | 86 | ||
diff --git a/firmware/powermgmt.c b/firmware/powermgmt.c index 13043cb88f..78f4a5a3cb 100644 --- a/firmware/powermgmt.c +++ b/firmware/powermgmt.c | |||
@@ -685,8 +685,10 @@ static void power_thread(void) | |||
685 | } | 685 | } |
686 | } | 686 | } |
687 | 687 | ||
688 | void power_init(void) | 688 | void powermgmt_init(void) |
689 | { | 689 | { |
690 | power_init(); | ||
691 | |||
690 | /* init history to 0 */ | 692 | /* init history to 0 */ |
691 | memset(power_history, 0x00, sizeof(power_history)); | 693 | memset(power_history, 0x00, sizeof(power_history)); |
692 | /* initialize the history with a single sample to prevent level | 694 | /* initialize the history with a single sample to prevent level |