2005-11-07 12:09:50 +08:00
|
|
|
#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 {
|
2006-11-20 13:46:22 +08:00
|
|
|
irq_handler_t handler;
|
2005-11-07 12:09:50 +08:00
|
|
|
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
|
|
|
|
*/
|
2006-11-20 13:46:22 +08:00
|
|
|
struct irq_entry {
|
|
|
|
irq_handler_t handler;
|
2005-11-07 12:09:50 +08:00
|
|
|
unsigned long flags;
|
|
|
|
void *dev_id;
|
|
|
|
const char *devname;
|
2006-11-20 13:46:22 +08:00
|
|
|
};
|
2005-11-07 12:09:50 +08:00
|
|
|
|
|
|
|
/* 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_ */
|