summaryrefslogtreecommitdiff
path: root/firmware/target/coldfire/iriver/h300
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/coldfire/iriver/h300')
-rw-r--r--firmware/target/coldfire/iriver/h300/adc-h300.c4
-rw-r--r--firmware/target/coldfire/iriver/h300/backlight-h300.c4
-rw-r--r--firmware/target/coldfire/iriver/h300/power-h300.c3
3 files changed, 5 insertions, 6 deletions
diff --git a/firmware/target/coldfire/iriver/h300/adc-h300.c b/firmware/target/coldfire/iriver/h300/adc-h300.c
index b13d0c73cc..efe5a9d746 100644
--- a/firmware/target/coldfire/iriver/h300/adc-h300.c
+++ b/firmware/target/coldfire/iriver/h300/adc-h300.c
@@ -34,7 +34,7 @@ static int adcc2_parms[] =
34 34
35unsigned short adc_scan(int channel) 35unsigned short adc_scan(int channel)
36{ 36{
37 int level = set_irq_level(HIGHEST_IRQ_LEVEL); 37 int level = disable_irq_save();
38 unsigned data; 38 unsigned data;
39 39
40 pcf50606_write(0x2f, adcc2_parms[channel]); 40 pcf50606_write(0x2f, adcc2_parms[channel]);
@@ -43,6 +43,6 @@ unsigned short adc_scan(int channel)
43 if (channel == ADC_BATTERY) 43 if (channel == ADC_BATTERY)
44 data = (data << 2) | (pcf50606_read(0x31) & 0x03); 44 data = (data << 2) | (pcf50606_read(0x31) & 0x03);
45 45
46 set_irq_level(level); 46 restore_irq(level);
47 return data; 47 return data;
48} 48}
diff --git a/firmware/target/coldfire/iriver/h300/backlight-h300.c b/firmware/target/coldfire/iriver/h300/backlight-h300.c
index c0d441ad3f..f042ee5524 100644
--- a/firmware/target/coldfire/iriver/h300/backlight-h300.c
+++ b/firmware/target/coldfire/iriver/h300/backlight-h300.c
@@ -51,10 +51,10 @@ void _backlight_off(void)
51void _backlight_set_brightness(int val) 51void _backlight_set_brightness(int val)
52{ 52{
53 /* disable IRQs while bitbanging */ 53 /* disable IRQs while bitbanging */
54 int old_irq_level = set_irq_level(HIGHEST_IRQ_LEVEL); 54 int old_irq_level = disable_irq_save();
55 pcf50606_write(0x35, (val << 1) | 0x01); /* 512Hz, Enable PWM */ 55 pcf50606_write(0x35, (val << 1) | 0x01); /* 512Hz, Enable PWM */
56 /* enable IRQs again */ 56 /* enable IRQs again */
57 set_irq_level(old_irq_level); 57 restore_irq(old_irq_level);
58} 58}
59 59
60void _remote_backlight_on(void) 60void _remote_backlight_on(void)
diff --git a/firmware/target/coldfire/iriver/h300/power-h300.c b/firmware/target/coldfire/iriver/h300/power-h300.c
index 21c723da8e..a06763e555 100644
--- a/firmware/target/coldfire/iriver/h300/power-h300.c
+++ b/firmware/target/coldfire/iriver/h300/power-h300.c
@@ -86,8 +86,7 @@ void power_off(void)
86 set_irq_level(DISABLE_INTERRUPTS); 86 set_irq_level(DISABLE_INTERRUPTS);
87 and_l(~0x00080000, &GPIO1_OUT); 87 and_l(~0x00080000, &GPIO1_OUT);
88 asm("halt"); 88 asm("halt");
89 while(1) 89 while(1);
90 yield();
91} 90}
92 91
93#endif /* SIMULATOR */ 92#endif /* SIMULATOR */