forked from Minki/linux
2ed5e6d09e
Move some of the m68knommu platform specific irq core support to its own header, irqnode.h. Having it in asm-m68knommu/irq.h causes some build pain, since it is included in a number of common code places (and not all the required definitions will be included at these places). Signed-off-by: Greg Ungerer <gerg@uclinux.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
37 lines
810 B
C
37 lines
810 B
C
#ifndef _M68K_IRQNODE_H_
|
|
#define _M68K_IRQNODE_H_
|
|
|
|
#include <linux/interrupt.h>
|
|
|
|
/*
|
|
* This structure is used to chain together the ISRs for a particular
|
|
* interrupt source (if it supports chaining).
|
|
*/
|
|
typedef struct irq_node {
|
|
irqreturn_t (*handler)(int, void *, struct pt_regs *);
|
|
unsigned long flags;
|
|
void *dev_id;
|
|
const char *devname;
|
|
struct irq_node *next;
|
|
} irq_node_t;
|
|
|
|
/*
|
|
* This structure has only 4 elements for speed reasons
|
|
*/
|
|
typedef struct irq_handler {
|
|
irqreturn_t (*handler)(int, void *, struct pt_regs *);
|
|
unsigned long flags;
|
|
void *dev_id;
|
|
const char *devname;
|
|
} irq_handler_t;
|
|
|
|
/* count of spurious interrupts */
|
|
extern volatile unsigned int num_spurious;
|
|
|
|
/*
|
|
* This function returns a new irq_node_t
|
|
*/
|
|
extern irq_node_t *new_irq_node(void);
|
|
|
|
#endif /* _M68K_IRQNODE_H_ */
|