blob: 6132a9858b5236f312bcc91a69222008d3be0e84 [file] [log] [blame]
Greg Ungerer2ed5e6d2005-11-07 14:09:50 +10001#ifndef _M68K_IRQNODE_H_
2#define _M68K_IRQNODE_H_
3
4#include <linux/interrupt.h>
5
6/*
7 * This structure is used to chain together the ISRs for a particular
8 * interrupt source (if it supports chaining).
9 */
10typedef struct irq_node {
Greg Ungererace5f1d2006-11-20 15:46:22 +100011 irq_handler_t handler;
Greg Ungerer2ed5e6d2005-11-07 14:09:50 +100012 unsigned long flags;
13 void *dev_id;
14 const char *devname;
15 struct irq_node *next;
16} irq_node_t;
17
18/*
19 * This structure has only 4 elements for speed reasons
20 */
Greg Ungererace5f1d2006-11-20 15:46:22 +100021struct irq_entry {
22 irq_handler_t handler;
Greg Ungerer2ed5e6d2005-11-07 14:09:50 +100023 unsigned long flags;
24 void *dev_id;
25 const char *devname;
Greg Ungererace5f1d2006-11-20 15:46:22 +100026};
Greg Ungerer2ed5e6d2005-11-07 14:09:50 +100027
28/* count of spurious interrupts */
29extern volatile unsigned int num_spurious;
30
31/*
32 * This function returns a new irq_node_t
33 */
34extern irq_node_t *new_irq_node(void);
35
36#endif /* _M68K_IRQNODE_H_ */