summaryrefslogtreecommitdiff
path: root/firmware/target/arm/imx31/gigabeat-s/avic-imx31.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/imx31/gigabeat-s/avic-imx31.c')
-rw-r--r--firmware/target/arm/imx31/gigabeat-s/avic-imx31.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/firmware/target/arm/imx31/gigabeat-s/avic-imx31.c b/firmware/target/arm/imx31/gigabeat-s/avic-imx31.c
index b04b22911a..194bc11ed6 100644
--- a/firmware/target/arm/imx31/gigabeat-s/avic-imx31.c
+++ b/firmware/target/arm/imx31/gigabeat-s/avic-imx31.c
@@ -125,8 +125,7 @@ void avic_set_int_priority(enum IMX31_INT_LIST ints,
125void avic_enable_int(enum IMX31_INT_LIST ints, enum INT_TYPE intstype, 125void avic_enable_int(enum IMX31_INT_LIST ints, enum INT_TYPE intstype,
126 unsigned long ni_priority, void (*handler)(void)) 126 unsigned long ni_priority, void (*handler)(void))
127{ 127{
128 int oldstatus = set_interrupt_status(IRQ_FIQ_DISABLED, 128 int oldstatus = disable_interrupt_save(IRQ_FIQ_STATUS);
129 IRQ_FIQ_STATUS);
130 129
131 if (ints != ALL) /* No mass-enable allowed */ 130 if (ints != ALL) /* No mass-enable allowed */
132 { 131 {
@@ -136,7 +135,7 @@ void avic_enable_int(enum IMX31_INT_LIST ints, enum INT_TYPE intstype,
136 avic_set_int_priority(ints, ni_priority); 135 avic_set_int_priority(ints, ni_priority);
137 } 136 }
138 137
139 set_interrupt_status(oldstatus, IRQ_FIQ_STATUS); 138 restore_interrupt(oldstatus);
140} 139}
141 140
142void avic_disable_int(enum IMX31_INT_LIST ints) 141void avic_disable_int(enum IMX31_INT_LIST ints)
@@ -184,8 +183,7 @@ static void set_int_type(int i, enum INT_TYPE intstype)
184 183
185void avic_set_int_type(enum IMX31_INT_LIST ints, enum INT_TYPE intstype) 184void avic_set_int_type(enum IMX31_INT_LIST ints, enum INT_TYPE intstype)
186{ 185{
187 int oldstatus = set_interrupt_status(IRQ_FIQ_DISABLED, 186 int oldstatus = disable_interrupt_save(IRQ_FIQ_STATUS);
188 IRQ_FIQ_STATUS);
189 187
190 if (ints == ALL) 188 if (ints == ALL)
191 { 189 {
@@ -198,5 +196,5 @@ void avic_set_int_type(enum IMX31_INT_LIST ints, enum INT_TYPE intstype)
198 set_int_type(ints, intstype); 196 set_int_type(ints, intstype);
199 } 197 }
200 198
201 set_interrupt_status(oldstatus, IRQ_FIQ_STATUS); 199 restore_interrupt(oldstatus);
202} 200}