blob: 88c35e4ea4bfa35c41339c0a9a4871d2efe4da3e [file] [log] [blame]
Robin Getz96f10502009-09-24 14:11:24 +00001/*
2 * Copyright 2007-2009 Analog Devices Inc.
3 *
4 * Licensed under the GPL-2 or later.
5 */
6
Bryan Wu1394f032007-05-06 14:50:22 -07007#ifndef _IRQ_HANDLER_H
8#define _IRQ_HANDLER_H
9
Mike Frysingerf0b5d122007-08-05 17:03:59 +080010#include <linux/types.h>
11#include <linux/linkage.h>
12
Mike Frysinger6327a572011-04-15 03:06:59 -040013/* init functions only */
14extern int __init init_arch_irq(void);
15extern void init_exception_vectors(void);
16extern void __init program_IAR(void);
17
Bryan Wu1394f032007-05-06 14:50:22 -070018/* BASE LEVEL interrupt handler routines */
Bryan Wu1394f032007-05-06 14:50:22 -070019asmlinkage void evt_exception(void);
20asmlinkage void trap(void);
21asmlinkage void evt_ivhw(void);
22asmlinkage void evt_timer(void);
Mike Frysingerf0b5d122007-08-05 17:03:59 +080023asmlinkage void evt_nmi(void);
Bryan Wu1394f032007-05-06 14:50:22 -070024asmlinkage void evt_evt7(void);
25asmlinkage void evt_evt8(void);
26asmlinkage void evt_evt9(void);
27asmlinkage void evt_evt10(void);
28asmlinkage void evt_evt11(void);
29asmlinkage void evt_evt12(void);
30asmlinkage void evt_evt13(void);
Philippe Gerum9703a732009-06-22 18:23:48 +020031asmlinkage void evt_evt14(void);
Bryan Wu1394f032007-05-06 14:50:22 -070032asmlinkage void evt_soft_int1(void);
33asmlinkage void evt_system_call(void);
34asmlinkage void init_exception_buff(void);
Mike Frysinger1ffe6642007-08-05 17:14:04 +080035asmlinkage void trap_c(struct pt_regs *fp);
36asmlinkage void ex_replaceable(void);
Robin Getz337d3902007-10-09 17:31:46 +080037asmlinkage void early_trap(void);
Mike Frysinger1ffe6642007-08-05 17:14:04 +080038
39extern void *ex_table[];
40extern void return_from_exception(void);
41
42extern int bfin_request_exception(unsigned int exception, void (*handler)(void));
43extern int bfin_free_exception(unsigned int exception, void (*handler)(void));
Bryan Wu1394f032007-05-06 14:50:22 -070044
Mike Frysinger6327a572011-04-15 03:06:59 -040045extern asmlinkage void lower_to_irq14(void);
46extern asmlinkage void bfin_return_from_exception(void);
47extern asmlinkage void asm_do_IRQ(unsigned int irq, struct pt_regs *regs);
48extern int bfin_internal_set_wake(unsigned int irq, unsigned int state);
49
Bryan Wu1394f032007-05-06 14:50:22 -070050#endif