2009-03-27 14:25:49 +01:00
/*
* Copyright ( C ) 2006 Atmark Techno , Inc .
*
* This file is subject to the terms and conditions of the GNU General Public
* License . See the file " COPYING " in the main directory of this archive
* for more details .
*/
# ifndef _ASM_MICROBLAZE_IRQ_H
# define _ASM_MICROBLAZE_IRQ_H
# define NR_IRQS 32
2009-06-18 19:55:33 +02:00
# include <asm-generic/irq.h>
2009-03-27 14:25:49 +01:00
# include <linux/interrupt.h>
2010-01-14 15:16:31 +01:00
/* This type is the placeholder for a hardware interrupt number. It has to
* be big enough to enclose whatever representation is used by a given
* platform .
*/
typedef unsigned long irq_hw_number_t ;
2009-03-27 14:25:49 +01:00
extern unsigned int nr_irq ;
# define NO_IRQ (-1)
struct pt_regs ;
extern void do_IRQ ( struct pt_regs * regs ) ;
/** FIXME - not implement
* irq_dispose_mapping - Unmap an interrupt
* @ virq : linux virq number of the interrupt to unmap
*/
static inline void irq_dispose_mapping ( unsigned int virq )
{
return ;
}
2010-01-14 15:16:31 +01:00
struct irq_host ;
/**
* irq_create_mapping - Map a hardware interrupt into linux virq space
* @ host : host owning this hardware interrupt or NULL for default host
* @ hwirq : hardware irq number in that host space
*
* Only one mapping per hardware interrupt is permitted . Returns a linux
* virq number .
* If the sense / trigger is to be specified , set_irq_type ( ) should be called
* on the number returned from that call .
*/
extern unsigned int irq_create_mapping ( struct irq_host * host ,
irq_hw_number_t hwirq ) ;
2009-03-27 14:25:49 +01:00
# endif /* _ASM_MICROBLAZE_IRQ_H */