2005-04-16 16:20:36 -06:00
|
|
|
/*
|
|
|
|
* linux/include/asm-arm/mach/irq.h
|
|
|
|
*
|
|
|
|
* Copyright (C) 1995-2000 Russell King.
|
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
|
|
* published by the Free Software Foundation.
|
|
|
|
*/
|
|
|
|
#ifndef __ASM_ARM_MACH_IRQ_H
|
|
|
|
#define __ASM_ARM_MACH_IRQ_H
|
|
|
|
|
2006-07-01 15:30:09 -06:00
|
|
|
#include <linux/irq.h>
|
2005-04-16 16:20:36 -06:00
|
|
|
|
2006-07-01 15:30:09 -06:00
|
|
|
struct seq_file;
|
2005-09-04 12:45:00 -06:00
|
|
|
|
2005-04-16 16:20:36 -06:00
|
|
|
/*
|
|
|
|
* This is internal. Do not use it.
|
|
|
|
*/
|
|
|
|
extern void (*init_arch_irq)(void);
|
|
|
|
extern void init_FIQ(void);
|
|
|
|
extern int show_fiq_list(struct seq_file *, void *);
|
|
|
|
|
2006-07-01 15:30:09 -06:00
|
|
|
/*
|
|
|
|
* Obsolete inline function for calling irq descriptor handlers.
|
2005-04-16 16:20:36 -06:00
|
|
|
*/
|
2006-10-06 11:53:39 -06:00
|
|
|
static inline void desc_handle_irq(unsigned int irq, struct irq_desc *desc)
|
2006-07-01 15:30:09 -06:00
|
|
|
{
|
2006-10-06 11:53:39 -06:00
|
|
|
desc->handle_irq(irq, desc);
|
2006-07-01 15:30:09 -06:00
|
|
|
}
|
2005-04-16 16:20:36 -06:00
|
|
|
|
|
|
|
void set_irq_flags(unsigned int irq, unsigned int flags);
|
|
|
|
|
|
|
|
#define IRQF_VALID (1 << 0)
|
|
|
|
#define IRQF_PROBE (1 << 1)
|
|
|
|
#define IRQF_NOAUTOEN (1 << 2)
|
|
|
|
|
|
|
|
/*
|
2006-07-01 15:30:09 -06:00
|
|
|
* This is for easy migration, but should be changed in the source
|
2005-04-16 16:20:36 -06:00
|
|
|
*/
|
2006-10-06 11:53:39 -06:00
|
|
|
#define do_bad_IRQ(irq,desc) \
|
2006-07-01 15:30:09 -06:00
|
|
|
do { \
|
|
|
|
spin_lock(&desc->lock); \
|
2006-10-06 11:53:39 -06:00
|
|
|
handle_bad_irq(irq, desc); \
|
2006-07-01 15:30:09 -06:00
|
|
|
spin_unlock(&desc->lock); \
|
|
|
|
} while(0)
|
|
|
|
|
|
|
|
extern unsigned long irq_err_count;
|
|
|
|
static inline void ack_bad_irq(int irq)
|
|
|
|
{
|
|
|
|
irq_err_count++;
|
|
|
|
}
|
2005-04-16 16:20:36 -06:00
|
|
|
|
|
|
|
#endif
|