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