summaryrefslogtreecommitdiff
path: root/firmware/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/drivers')
-rw-r--r--firmware/drivers/audio/uda1380.c4
-rw-r--r--firmware/drivers/button.c4
-rw-r--r--firmware/drivers/rtc/rtc_pcf50606.c8
3 files changed, 8 insertions, 8 deletions
diff --git a/firmware/drivers/audio/uda1380.c b/firmware/drivers/audio/uda1380.c
index ce69ef6..f6a7c73 100644
--- a/firmware/drivers/audio/uda1380.c
+++ b/firmware/drivers/audio/uda1380.c
@@ -203,10 +203,10 @@ void audiohw_enable_output(bool enable)
static void reset(void)
{
#ifdef IRIVER_H300_SERIES
- int mask = set_irq_level(HIGHEST_IRQ_LEVEL);
+ int mask = disable_irq_save();
pcf50606_write(0x3b, 0x00); /* GPOOD2 high Z */
pcf50606_write(0x3b, 0x07); /* GPOOD2 low */
- set_irq_level(mask);
+ restore_irq(mask);
#else
/* RESET signal */
or_l(1<<29, &GPIO_OUT);
diff --git a/firmware/drivers/button.c b/firmware/drivers/button.c
index b9473be..d38306b 100644
--- a/firmware/drivers/button.c
+++ b/firmware/drivers/button.c
@@ -465,10 +465,10 @@ void button_set_flip(bool flip)
if (flip != flipped) /* not the current setting */
{
/* avoid race condition with the button_tick() */
- int oldlevel = set_irq_level(HIGHEST_IRQ_LEVEL);
+ int oldlevel = disable_irq_save();
lastbtn = button_flip(lastbtn);
flipped = flip;
- set_irq_level(oldlevel);
+ restore_irq(oldlevel);
}
}
#endif /* HAVE_LCD_BITMAP */
diff --git a/firmware/drivers/rtc/rtc_pcf50606.c b/firmware/drivers/rtc/rtc_pcf50606.c
index 25b0c70..9b4de44 100644
--- a/firmware/drivers/rtc/rtc_pcf50606.c
+++ b/firmware/drivers/rtc/rtc_pcf50606.c
@@ -30,21 +30,21 @@ void rtc_init(void)
int rtc_read_datetime(unsigned char* buf) {
int rc;
- int oldlevel = set_irq_level(HIGHEST_IRQ_LEVEL);
+ int oldlevel = disable_irq_save();
rc = pcf50606_read_multiple(0x0a, buf, 7);
- set_irq_level(oldlevel);
+ restore_irq(oldlevel);
return rc;
}
int rtc_write_datetime(unsigned char* buf) {
int rc;
- int oldlevel = set_irq_level(HIGHEST_IRQ_LEVEL);
+ int oldlevel = disable_irq_save();
rc = pcf50606_write_multiple(0x0a, buf, 7);
- set_irq_level(oldlevel);
+ restore_irq(oldlevel);
return rc;
}