summaryrefslogtreecommitdiff
path: root/firmware/target/sh/archos
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/sh/archos')
-rw-r--r--firmware/target/sh/archos/fm_v2/power-fm_v2.c5
-rw-r--r--firmware/target/sh/archos/ondio/power-ondio.c5
-rw-r--r--firmware/target/sh/archos/player/power-player.c5
-rw-r--r--firmware/target/sh/archos/recorder/power-recorder.c5
4 files changed, 8 insertions, 12 deletions
diff --git a/firmware/target/sh/archos/fm_v2/power-fm_v2.c b/firmware/target/sh/archos/fm_v2/power-fm_v2.c
index 94a36339bb..ac23348d42 100644
--- a/firmware/target/sh/archos/fm_v2/power-fm_v2.c
+++ b/firmware/target/sh/archos/fm_v2/power-fm_v2.c
@@ -101,9 +101,8 @@ bool ide_powered(void)
101 101
102void power_off(void) 102void power_off(void)
103{ 103{
104 set_irq_level(HIGHEST_IRQ_LEVEL); 104 disable_irq();
105 and_b(~0x20, &PBDRL); 105 and_b(~0x20, &PBDRL);
106 or_b(0x20, &PBIORL); 106 or_b(0x20, &PBIORL);
107 while(1) 107 while(1);
108 yield();
109} 108}
diff --git a/firmware/target/sh/archos/ondio/power-ondio.c b/firmware/target/sh/archos/ondio/power-ondio.c
index 156516afeb..87f365791b 100644
--- a/firmware/target/sh/archos/ondio/power-ondio.c
+++ b/firmware/target/sh/archos/ondio/power-ondio.c
@@ -66,13 +66,12 @@ void power_init(void)
66 66
67void power_off(void) 67void power_off(void)
68{ 68{
69 set_irq_level(HIGHEST_IRQ_LEVEL); 69 disable_irq();
70#ifdef HAVE_BACKLIGHT 70#ifdef HAVE_BACKLIGHT
71 /* Switch off the light on backlight-modded Ondios */ 71 /* Switch off the light on backlight-modded Ondios */
72 _backlight_off(); 72 _backlight_off();
73#endif 73#endif
74 and_b(~0x20, &PBDRL); 74 and_b(~0x20, &PBDRL);
75 or_b(0x20, &PBIORL); 75 or_b(0x20, &PBIORL);
76 while(1) 76 while(1);
77 yield();
78} 77}
diff --git a/firmware/target/sh/archos/player/power-player.c b/firmware/target/sh/archos/player/power-player.c
index 7d9d0d7d16..b2f51b9280 100644
--- a/firmware/target/sh/archos/player/power-player.c
+++ b/firmware/target/sh/archos/player/power-player.c
@@ -79,9 +79,8 @@ bool ide_powered(void)
79 79
80void power_off(void) 80void power_off(void)
81{ 81{
82 set_irq_level(HIGHEST_IRQ_LEVEL); 82 disable_irq();
83 and_b(~0x08, &PADRH); 83 and_b(~0x08, &PADRH);
84 or_b(0x08, &PAIORH); 84 or_b(0x08, &PAIORH);
85 while(1) 85 while(1);
86 yield();
87} 86}
diff --git a/firmware/target/sh/archos/recorder/power-recorder.c b/firmware/target/sh/archos/recorder/power-recorder.c
index 2af8df1bb6..1804bcb660 100644
--- a/firmware/target/sh/archos/recorder/power-recorder.c
+++ b/firmware/target/sh/archos/recorder/power-recorder.c
@@ -95,9 +95,8 @@ bool ide_powered(void)
95 95
96void power_off(void) 96void power_off(void)
97{ 97{
98 set_irq_level(HIGHEST_IRQ_LEVEL); 98 disable_irq();
99 and_b(~0x10, &PBDRL); 99 and_b(~0x10, &PBDRL);
100 or_b(0x10, &PBIORL); 100 or_b(0x10, &PBIORL);
101 while(1) 101 while(1);
102 yield();
103} 102}