]> nv-tegra.nvidia Code Review - linux-2.6.git/blob - include/asm-arm/mach/irq.h
Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/agpgart
[linux-2.6.git] / include / asm-arm / mach / irq.h
1 /*
2  *  linux/include/asm-arm/mach/irq.h
3  *
4  *  Copyright (C) 1995-2000 Russell King.
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation.
9  */
10 #ifndef __ASM_ARM_MACH_IRQ_H
11 #define __ASM_ARM_MACH_IRQ_H
12
13 #include <linux/irq.h>
14
15 struct seq_file;
16
17 /*
18  * This is internal.  Do not use it.
19  */
20 extern void (*init_arch_irq)(void);
21 extern void init_FIQ(void);
22 extern int show_fiq_list(struct seq_file *, void *);
23
24 /*
25  * Function wrappers
26  */
27 #define set_irq_chipdata(irq, d)        set_irq_chip_data(irq, d)
28 #define get_irq_chipdata(irq)           get_irq_chip_data(irq)
29
30 /*
31  * Obsolete inline function for calling irq descriptor handlers.
32  */
33 static inline void desc_handle_irq(unsigned int irq, struct irq_desc *desc)
34 {
35         desc->handle_irq(irq, desc);
36 }
37
38 void set_irq_flags(unsigned int irq, unsigned int flags);
39
40 #define IRQF_VALID      (1 << 0)
41 #define IRQF_PROBE      (1 << 1)
42 #define IRQF_NOAUTOEN   (1 << 2)
43
44 /*
45  * This is for easy migration, but should be changed in the source
46  */
47 #define do_level_IRQ    handle_level_irq
48 #define do_edge_IRQ     handle_edge_irq
49 #define do_simple_IRQ   handle_simple_irq
50 #define irqdesc         irq_desc
51 #define irqchip         irq_chip
52
53 #define do_bad_IRQ(irq,desc)                            \
54 do {                                                    \
55         spin_lock(&desc->lock);                         \
56         handle_bad_irq(irq, desc);                      \
57         spin_unlock(&desc->lock);                       \
58 } while(0)
59
60 extern unsigned long irq_err_count;
61 static inline void ack_bad_irq(int irq)
62 {
63         irq_err_count++;
64 }
65
66 #endif