]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - arch/arm/include/asm/mach/irq.h
c57b52ce574aadff6728eefebfcb5d2499dba3cc
[mirror_ubuntu-artful-kernel.git] / arch / arm / include / asm / mach / irq.h
1 /*
2 * arch/arm/include/asm/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