1 /* 2 * Copyright 2007-2009 Analog Devices Inc. 3 * 4 * Licensed under the GPL-2 or later. 5 */ 6 7 #ifndef _IRQ_HANDLER_H 8 #define _IRQ_HANDLER_H 9 10 #include <linux/types.h> 11 #include <linux/linkage.h> 12 13 /* init functions only */ 14 extern int __init init_arch_irq(void); 15 extern void init_exception_vectors(void); 16 extern void __init program_IAR(void); 17 #ifdef init_mach_irq 18 extern void __init init_mach_irq(void); 19 #else 20 # define init_mach_irq() 21 #endif 22 23 /* BASE LEVEL interrupt handler routines */ 24 asmlinkage void evt_exception(void); 25 asmlinkage void trap(void); 26 asmlinkage void evt_ivhw(void); 27 asmlinkage void evt_timer(void); 28 asmlinkage void evt_nmi(void); 29 asmlinkage void evt_evt7(void); 30 asmlinkage void evt_evt8(void); 31 asmlinkage void evt_evt9(void); 32 asmlinkage void evt_evt10(void); 33 asmlinkage void evt_evt11(void); 34 asmlinkage void evt_evt12(void); 35 asmlinkage void evt_evt13(void); 36 asmlinkage void evt_evt14(void); 37 asmlinkage void evt_soft_int1(void); 38 asmlinkage void evt_system_call(void); 39 asmlinkage void init_exception_buff(void); 40 asmlinkage void trap_c(struct pt_regs *fp); 41 asmlinkage void ex_replaceable(void); 42 asmlinkage void early_trap(void); 43 44 extern void *ex_table[]; 45 extern void return_from_exception(void); 46 47 extern int bfin_request_exception(unsigned int exception, void (*handler)(void)); 48 extern int bfin_free_exception(unsigned int exception, void (*handler)(void)); 49 50 extern asmlinkage void lower_to_irq14(void); 51 extern asmlinkage void bfin_return_from_exception(void); 52 extern asmlinkage void asm_do_IRQ(unsigned int irq, struct pt_regs *regs); 53 extern int bfin_internal_set_wake(unsigned int irq, unsigned int state); 54 55 struct irq_data; 56 extern void bfin_handle_irq(unsigned irq); 57 extern void bfin_ack_noop(struct irq_data *); 58 extern void bfin_internal_mask_irq(unsigned int irq); 59 extern void bfin_internal_unmask_irq(unsigned int irq); 60 61 struct irq_desc; 62 extern void bfin_demux_mac_status_irq(unsigned int, struct irq_desc *); 63 extern void bfin_demux_gpio_irq(unsigned int, struct irq_desc *); 64 65 #endif 66