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_ */
|