diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2008-03-26 01:50:41 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2008-03-26 01:50:41 +0000 |
commit | af395f4db6ad7b83f9d9afefb1c0ceeedd140a45 (patch) | |
tree | b631289b4a3b28d3c65b10d272d50298f377c69f /firmware/target/coldfire/iaudio/m5/power-m5.c | |
parent | 74d678fdbcbc427c057e7682ba0a0566e49a8b97 (diff) | |
download | rockbox-af395f4db6ad7b83f9d9afefb1c0ceeedd140a45.tar.gz rockbox-af395f4db6ad7b83f9d9afefb1c0ceeedd140a45.zip |
Do core interrupt masking in a less general fashion and save some instructions to decrease size and speed things up a little bit. Small fix to a few places where interrupts would get enabled again where they shouldn't have been (context switching calls when disabled).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16811 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/coldfire/iaudio/m5/power-m5.c')
-rw-r--r-- | firmware/target/coldfire/iaudio/m5/power-m5.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/firmware/target/coldfire/iaudio/m5/power-m5.c b/firmware/target/coldfire/iaudio/m5/power-m5.c index 939cae02f2..18401af49f 100644 --- a/firmware/target/coldfire/iaudio/m5/power-m5.c +++ b/firmware/target/coldfire/iaudio/m5/power-m5.c | |||
@@ -44,16 +44,16 @@ bool charger_inserted(void) | |||
44 | void ide_power_enable(bool on) | 44 | void ide_power_enable(bool on) |
45 | { | 45 | { |
46 | /* GPOOD3 */ | 46 | /* GPOOD3 */ |
47 | int level = set_irq_level(HIGHEST_IRQ_LEVEL); | 47 | int level = disable_irq_save(); |
48 | pcf50606_write(0x3c, on ? 0x07 : 0x00); | 48 | pcf50606_write(0x3c, on ? 0x07 : 0x00); |
49 | set_irq_level(level); | 49 | restore_irq(level); |
50 | } | 50 | } |
51 | 51 | ||
52 | bool ide_powered(void) | 52 | bool ide_powered(void) |
53 | { | 53 | { |
54 | int level = set_irq_level(HIGHEST_IRQ_LEVEL); | 54 | int level = disable_irq_save(); |
55 | int value = pcf50606_read(0x3c); | 55 | int value = pcf50606_read(0x3c); |
56 | set_irq_level(level); | 56 | restore_irq(level); |
57 | return (value & 0x07) != 0; | 57 | return (value & 0x07) != 0; |
58 | } | 58 | } |
59 | 59 | ||