fedora core 6 1.2949 + vserver 2.2.0
[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  * Obsolete inline function for calling irq descriptor handlers.
26  */
27 static inline void desc_handle_irq(unsigned int irq, struct irq_desc *desc)
28 {
29         desc->handle_irq(irq, desc);
30 }
31
32 void set_irq_flags(unsigned int irq, unsigned int flags);
33
34 #define IRQF_VALID      (1 << 0)
35 #define IRQF_PROBE      (1 << 1)
36 #define IRQF_NOAUTOEN   (1 << 2)
37
38 /*
39  * This is for easy migration, but should be changed in the source
40  */
41 #define do_bad_IRQ(irq,desc)                            \
42 do {                                                    \
43         spin_lock(&desc->lock);                         \
44         handle_bad_irq(irq, desc);                      \
45         spin_unlock(&desc->lock);                       \
46 } while(0)
47
48 extern unsigned long irq_err_count;
49 static inline void ack_bad_irq(int irq)
50 {
51         irq_err_count++;
52 }
53
54 #endif