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 15struct seq_file; 16 17/* 18 * This is internal. Do not use it. 19 */ 20extern void (*init_arch_irq)(void); 21extern void init_FIQ(void); 22extern int show_fiq_list(struct seq_file *, void *); 23 24/* 25 * Obsolete inline function for calling irq descriptor handlers. 26 */ 27static inline void desc_handle_irq(unsigned int irq, struct irq_desc *desc) 28{ 29 desc->handle_irq(irq, desc); 30} 31 32void 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) \ 42do { \ 43 spin_lock(&desc->lock); \ 44 handle_bad_irq(irq, desc); \ 45 spin_unlock(&desc->lock); \ 46} while(0) 47 48extern unsigned long irq_err_count; 49static inline void ack_bad_irq(int irq) 50{ 51 irq_err_count++; 52} 53 54#endif 55