* This structure is used to chain together the ISRs for a particular
* interrupt source (if it supports chaining).
*/
-struct irq_node {
+struct irq_data {
+ unsigned int irq;
irqreturn_t (*handler)(int, void *);
void *dev_id;
- struct irq_node *next;
+ struct irq_data *next;
unsigned long flags;
const char *devname;
};
extern void m68k_irq_shutdown(unsigned int);
/*
- * This function returns a new struct irq_node
+ * This function returns a new struct irq_data
*/
-extern struct irq_node *new_irq_node(void);
+extern struct irq_data *new_irq_node(void);
extern void m68k_setup_auto_interrupt(void (*handler)(unsigned int, struct pt_regs *));
extern void m68k_setup_user_interrupt(unsigned int vec, unsigned int cnt,
extern u16 user_irqvec_fixup[];
/* table for system interrupt handlers */
-static struct irq_node *irq_list[NR_IRQS];
+static struct irq_data *irq_list[NR_IRQS];
static struct irq_chip *irq_chip[NR_IRQS];
static int irq_depth[NR_IRQS];
};
#define NUM_IRQ_NODES 100
-static struct irq_node nodes[NUM_IRQ_NODES];
+static struct irq_data nodes[NUM_IRQ_NODES];
/*
* void init_IRQ(void)
irq_chip[irq + i] = contr;
}
-struct irq_node *new_irq_node(void)
+struct irq_data *new_irq_node(void)
{
- struct irq_node *node;
+ struct irq_data *node;
short i;
for (node = nodes, i = NUM_IRQ_NODES-1; i >= 0; node++, i--) {
return NULL;
}
-int setup_irq(unsigned int irq, struct irq_node *node)
+int setup_irq(unsigned int irq, struct irq_data *node)
{
struct irq_chip *contr;
- struct irq_node **prev;
+ struct irq_data **prev;
unsigned long flags;
if (irq >= NR_IRQS || !(contr = irq_chip[irq])) {
irq_handler_t handler,
unsigned long flags, const char *devname, void *dev_id)
{
- struct irq_node *node;
+ struct irq_data *node;
int res;
node = new_irq_node();
if (!node)
return -ENOMEM;
+ node->irq = irq;
node->handler = handler;
node->flags = flags;
node->dev_id = dev_id;
void free_irq(unsigned int irq, void *dev_id)
{
struct irq_chip *contr;
- struct irq_node **p, *node;
+ struct irq_data **p, *node;
unsigned long flags;
if (irq >= NR_IRQS || !(contr = irq_chip[irq])) {
asmlinkage void m68k_handle_int(unsigned int irq)
{
- struct irq_node *node;
+ struct irq_data *node;
kstat_cpu(0).irqs[irq]++;
node = irq_list[irq];
do {
int show_interrupts(struct seq_file *p, void *v)
{
struct irq_chip *contr;
- struct irq_node *node;
+ struct irq_data *node;
int i = *(loff_t *) v;
/* autovector interrupts */