diff options
-rw-r--r-- | arch/m68k/amiga/amiints.c | 3 | ||||
-rw-r--r-- | arch/m68k/amiga/cia.c | 6 | ||||
-rw-r--r-- | arch/m68k/apollo/dn_ints.c | 3 | ||||
-rw-r--r-- | arch/m68k/atari/ataints.c | 3 | ||||
-rw-r--r-- | arch/m68k/include/asm/irq.h | 2 | ||||
-rw-r--r-- | arch/m68k/mac/macints.c | 2 | ||||
-rw-r--r-- | arch/m68k/q40/q40ints.c | 3 | ||||
-rw-r--r-- | arch/m68k/sun3/sun3ints.c | 3 |
8 files changed, 17 insertions, 8 deletions
diff --git a/arch/m68k/amiga/amiints.c b/arch/m68k/amiga/amiints.c index 09a695babfe9..8af5ea3eea67 100644 --- a/arch/m68k/amiga/amiints.c +++ b/arch/m68k/amiga/amiints.c | |||
@@ -80,7 +80,8 @@ void __init amiga_init_IRQ(void) | |||
80 | if (request_irq(IRQ_AUTO_5, ami_int5, 0, "int5", NULL)) | 80 | if (request_irq(IRQ_AUTO_5, ami_int5, 0, "int5", NULL)) |
81 | pr_err("Couldn't register int%d\n", 5); | 81 | pr_err("Couldn't register int%d\n", 5); |
82 | 82 | ||
83 | m68k_setup_irq_chip(&amiga_irq_chip, IRQ_USER, AMI_STD_IRQS); | 83 | m68k_setup_irq_controller(&amiga_irq_chip, handle_simple_irq, IRQ_USER, |
84 | AMI_STD_IRQS); | ||
84 | 85 | ||
85 | /* turn off PCMCIA interrupts */ | 86 | /* turn off PCMCIA interrupts */ |
86 | if (AMIGAHW_PRESENT(PCMCIA)) | 87 | if (AMIGAHW_PRESENT(PCMCIA)) |
diff --git a/arch/m68k/amiga/cia.c b/arch/m68k/amiga/cia.c index b04b453718d9..84663ae824ef 100644 --- a/arch/m68k/amiga/cia.c +++ b/arch/m68k/amiga/cia.c | |||
@@ -168,14 +168,16 @@ static struct irq_chip auto_irq_chip = { | |||
168 | 168 | ||
169 | void __init cia_init_IRQ(struct ciabase *base) | 169 | void __init cia_init_IRQ(struct ciabase *base) |
170 | { | 170 | { |
171 | m68k_setup_irq_chip(&cia_irq_chip, base->cia_irq, CIA_IRQS); | 171 | m68k_setup_irq_controller(&cia_irq_chip, handle_simple_irq, |
172 | base->cia_irq, CIA_IRQS); | ||
172 | 173 | ||
173 | /* clear any pending interrupt and turn off all interrupts */ | 174 | /* clear any pending interrupt and turn off all interrupts */ |
174 | cia_set_irq(base, CIA_ICR_ALL); | 175 | cia_set_irq(base, CIA_ICR_ALL); |
175 | cia_able_irq(base, CIA_ICR_ALL); | 176 | cia_able_irq(base, CIA_ICR_ALL); |
176 | 177 | ||
177 | /* override auto int and install CIA handler */ | 178 | /* override auto int and install CIA handler */ |
178 | m68k_setup_irq_chip(&auto_irq_chip, base->handler_irq, 1); | 179 | m68k_setup_irq_controller(&auto_irq_chip, handle_simple_irq, |
180 | base->handler_irq, 1); | ||
179 | m68k_irq_startup_irq(base->handler_irq); | 181 | m68k_irq_startup_irq(base->handler_irq); |
180 | if (request_irq(base->handler_irq, cia_handler, IRQF_SHARED, | 182 | if (request_irq(base->handler_irq, cia_handler, IRQF_SHARED, |
181 | base->name, base)) | 183 | base->name, base)) |
diff --git a/arch/m68k/apollo/dn_ints.c b/arch/m68k/apollo/dn_ints.c index 2bdab498b6c1..bdc44282fdba 100644 --- a/arch/m68k/apollo/dn_ints.c +++ b/arch/m68k/apollo/dn_ints.c | |||
@@ -43,5 +43,6 @@ static struct irq_chip apollo_irq_chip = { | |||
43 | void __init dn_init_IRQ(void) | 43 | void __init dn_init_IRQ(void) |
44 | { | 44 | { |
45 | m68k_setup_user_interrupt(VEC_USER + 96, 16, dn_process_int); | 45 | m68k_setup_user_interrupt(VEC_USER + 96, 16, dn_process_int); |
46 | m68k_setup_irq_chip(&apollo_irq_chip, IRQ_APOLLO, 16); | 46 | m68k_setup_irq_controller(&apollo_irq_chip, handle_simple_irq, |
47 | IRQ_APOLLO, 16); | ||
47 | } | 48 | } |
diff --git a/arch/m68k/atari/ataints.c b/arch/m68k/atari/ataints.c index 7f4e5a9b77c5..6149ff994641 100644 --- a/arch/m68k/atari/ataints.c +++ b/arch/m68k/atari/ataints.c | |||
@@ -374,7 +374,8 @@ static struct irq_chip atari_irq_chip = { | |||
374 | void __init atari_init_IRQ(void) | 374 | void __init atari_init_IRQ(void) |
375 | { | 375 | { |
376 | m68k_setup_user_interrupt(VEC_USER, NUM_ATARI_SOURCES - IRQ_USER, NULL); | 376 | m68k_setup_user_interrupt(VEC_USER, NUM_ATARI_SOURCES - IRQ_USER, NULL); |
377 | m68k_setup_irq_chip(&atari_irq_chip, 1, NUM_ATARI_SOURCES - 1); | 377 | m68k_setup_irq_controller(&atari_irq_chip, handle_simple_irq, 1, |
378 | NUM_ATARI_SOURCES - 1); | ||
378 | 379 | ||
379 | /* Initialize the MFP(s) */ | 380 | /* Initialize the MFP(s) */ |
380 | 381 | ||
diff --git a/arch/m68k/include/asm/irq.h b/arch/m68k/include/asm/irq.h index 423f064955f2..d0b7efd1f1e2 100644 --- a/arch/m68k/include/asm/irq.h +++ b/arch/m68k/include/asm/irq.h | |||
@@ -115,6 +115,8 @@ extern void m68k_setup_auto_interrupt(void (*handler)(unsigned int, struct pt_re | |||
115 | extern void m68k_setup_user_interrupt(unsigned int vec, unsigned int cnt, | 115 | extern void m68k_setup_user_interrupt(unsigned int vec, unsigned int cnt, |
116 | void (*handler)(unsigned int, struct pt_regs *)); | 116 | void (*handler)(unsigned int, struct pt_regs *)); |
117 | extern void m68k_setup_irq_chip(struct irq_chip *, unsigned int, unsigned int); | 117 | extern void m68k_setup_irq_chip(struct irq_chip *, unsigned int, unsigned int); |
118 | #define m68k_setup_irq_controller(chip, dummy, irq, cnt) \ | ||
119 | m68k_setup_irq_chip((chip), (irq), (cnt)) | ||
118 | 120 | ||
119 | asmlinkage void m68k_handle_int(unsigned int); | 121 | asmlinkage void m68k_handle_int(unsigned int); |
120 | asmlinkage void __m68k_handle_int(unsigned int, struct pt_regs *); | 122 | asmlinkage void __m68k_handle_int(unsigned int, struct pt_regs *); |
diff --git a/arch/m68k/mac/macints.c b/arch/m68k/mac/macints.c index 3cee6d29cc5d..98497d288a9b 100644 --- a/arch/m68k/mac/macints.c +++ b/arch/m68k/mac/macints.c | |||
@@ -214,7 +214,7 @@ void __init mac_init_IRQ(void) | |||
214 | #ifdef DEBUG_MACINTS | 214 | #ifdef DEBUG_MACINTS |
215 | printk("mac_init_IRQ(): Setting things up...\n"); | 215 | printk("mac_init_IRQ(): Setting things up...\n"); |
216 | #endif | 216 | #endif |
217 | m68k_setup_irq_chip(&mac_irq_chip, IRQ_USER, | 217 | m68k_setup_irq_controller(&mac_irq_chip, handle_simple_irq, IRQ_USER, |
218 | NUM_MAC_SOURCES - IRQ_USER); | 218 | NUM_MAC_SOURCES - IRQ_USER); |
219 | /* Make sure the SONIC interrupt is cleared or things get ugly */ | 219 | /* Make sure the SONIC interrupt is cleared or things get ugly */ |
220 | #ifdef SHUTUP_SONIC | 220 | #ifdef SHUTUP_SONIC |
diff --git a/arch/m68k/q40/q40ints.c b/arch/m68k/q40/q40ints.c index cb245f972e1a..a8a5ce8b18fc 100644 --- a/arch/m68k/q40/q40ints.c +++ b/arch/m68k/q40/q40ints.c | |||
@@ -82,7 +82,8 @@ static int disabled; | |||
82 | 82 | ||
83 | void __init q40_init_IRQ(void) | 83 | void __init q40_init_IRQ(void) |
84 | { | 84 | { |
85 | m68k_setup_irq_chip(&q40_irq_chip, 1, Q40_IRQ_MAX); | 85 | m68k_setup_irq_controller(&q40_irq_chip, handle_simple_irq, 1, |
86 | Q40_IRQ_MAX); | ||
86 | 87 | ||
87 | /* setup handler for ISA ints */ | 88 | /* setup handler for ISA ints */ |
88 | m68k_setup_auto_interrupt(q40_irq_handler); | 89 | m68k_setup_auto_interrupt(q40_irq_handler); |
diff --git a/arch/m68k/sun3/sun3ints.c b/arch/m68k/sun3/sun3ints.c index 5d45e0065d2e..20461278e535 100644 --- a/arch/m68k/sun3/sun3ints.c +++ b/arch/m68k/sun3/sun3ints.c | |||
@@ -109,7 +109,8 @@ void __init sun3_init_IRQ(void) | |||
109 | *sun3_intreg = 1; | 109 | *sun3_intreg = 1; |
110 | 110 | ||
111 | m68k_setup_auto_interrupt(sun3_inthandle); | 111 | m68k_setup_auto_interrupt(sun3_inthandle); |
112 | m68k_setup_irq_chip(&sun3_irq_chip, IRQ_AUTO_1, 7); | 112 | m68k_setup_irq_controller(&sun3_irq_chip, handle_simple_irq, |
113 | IRQ_AUTO_1, 7); | ||
113 | m68k_setup_user_interrupt(VEC_USER, 128, NULL); | 114 | m68k_setup_user_interrupt(VEC_USER, 128, NULL); |
114 | 115 | ||
115 | if (request_irq(IRQ_AUTO_5, sun3_int5, 0, "int5", NULL)) | 116 | if (request_irq(IRQ_AUTO_5, sun3_int5, 0, "int5", NULL)) |