void interrupt_clear(u8 src_number) {
+ VICIntEnClear=(1<<src_number);
+
}
-int interrupt_set(u8 src_number,u8 mode,u8 priority,void *callback) {
+int interrupt_enable(u8 src_number,u8 mode,u8 priority,void *callback) {
/* check whether this ir source is allready assigned */
- if(VICSoftInt&(1<<src_number))
+ if(VICIntEnable&(1<<src_number))
return INTERRUPT_EINUSE;
-
+
/* force interrupt */
- VICSoftInt|=(1<<src_number);
- VICIntEnable|=(1<<src_number);
+ VICIntEnable=(1<<src_number);
switch(mode) {
case INTERRUPT_FIQ:
VICIntSelect|=(1<<src_number);
break;
case INTERRUPT_VIRQ:
+
case INTERRUPT_IRQ:
case default:
}