#define MAX_IRQ_CNT 100000
static volatile unsigned long irq_err_count;
-static spinlock_t irq_controller_lock;
+static spinlock_t irq_controller_lock = SPIN_LOCK_UNLOCKED;
static LIST_HEAD(irq_pending);
struct irqdesc irq_desc[NR_IRQS];
list_del_init(&desc->pend);
spin_unlock_irqrestore(&irq_controller_lock, flags);
}
+EXPORT_SYMBOL(disable_irq);
/**
* enable_irq - enable interrupt handling on an irq
}
spin_unlock_irqrestore(&irq_controller_lock, flags);
}
+EXPORT_SYMBOL(enable_irq);
/*
* Enable wake on selected irq
desc->chip->wake(irq, 1);
spin_unlock_irqrestore(&irq_controller_lock, flags);
}
+EXPORT_SYMBOL(enable_irq_wake);
void disable_irq_wake(unsigned int irq)
{
desc->chip->wake(irq, 0);
spin_unlock_irqrestore(&irq_controller_lock, flags);
}
+EXPORT_SYMBOL(disable_irq_wake);
int show_interrupts(struct seq_file *p, void *v)
{
* come via this function. Instead, they should provide their
* own 'handler'
*/
-asmlinkage void asm_do_IRQ(int irq, struct pt_regs *regs)
+asmlinkage void asm_do_IRQ(unsigned int irq, struct pt_regs *regs)
{
struct irqdesc *desc = irq_desc + irq;
return ret;
}
+EXPORT_SYMBOL(set_irq_type);
void set_irq_flags(unsigned int irq, unsigned int iflags)
{
return mask;
}
+EXPORT_SYMBOL(probe_irq_mask);
/*
* Possible return values: