diff --git a/arch/m68k/kernel/ints.c b/arch/m68k/kernel/ints.c
index 8877932..404d832 100644
--- a/arch/m68k/kernel/ints.c
+++ b/arch/m68k/kernel/ints.c
@@ -203,9 +203,9 @@
 
 	if (!irq_list[irq]) {
 		if (contr->irq_startup)
-			contr->irq_startup(irq);
+			contr->irq_startup(node);
 		else
-			contr->irq_enable(irq);
+			contr->irq_enable(node);
 	}
 	node->next = NULL;
 	*prev = node;
@@ -270,9 +270,9 @@
 
 	if (!irq_list[irq]) {
 		if (contr->irq_shutdown)
-			contr->irq_shutdown(irq);
+			contr->irq_shutdown(node);
 		else
-			contr->irq_disable(irq);
+			contr->irq_disable(node);
 	}
 
 	local_irq_restore(flags);
@@ -295,7 +295,7 @@
 	if (irq_depth[irq]) {
 		if (!--irq_depth[irq]) {
 			if (contr->irq_enable)
-				contr->irq_enable(irq);
+				contr->irq_enable(irq_list[irq]);
 		}
 	} else
 		WARN_ON(1);
@@ -318,7 +318,7 @@
 	local_irq_save(flags);
 	if (!irq_depth[irq]++) {
 		if (contr->irq_disable)
-			contr->irq_disable(irq);
+			contr->irq_disable(irq_list[irq]);
 	}
 	local_irq_restore(flags);
 }
@@ -329,7 +329,7 @@
 
 EXPORT_SYMBOL(disable_irq_nosync);
 
-unsigned int m68k_irq_startup(unsigned int irq)
+unsigned int m68k_irq_startup_irq(unsigned int irq)
 {
 	if (irq <= IRQ_AUTO_7)
 		vectors[VEC_SPUR + irq] = auto_inthandler;
@@ -338,8 +338,15 @@
 	return 0;
 }
 
-void m68k_irq_shutdown(unsigned int irq)
+unsigned int m68k_irq_startup(struct irq_data *data)
 {
+	return m68k_irq_startup_irq(data->irq);
+}
+
+void m68k_irq_shutdown(struct irq_data *data)
+{
+	unsigned int irq = data->irq;
+
 	if (irq <= IRQ_AUTO_7)
 		vectors[VEC_SPUR + irq] = bad_inthandler;
 	else
