aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m68k/amiga/cia.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/m68k/amiga/cia.c')
-rw-r--r--arch/m68k/amiga/cia.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/arch/m68k/amiga/cia.c b/arch/m68k/amiga/cia.c
index ecd0f7ca6f0..637ef53112b 100644
--- a/arch/m68k/amiga/cia.c
+++ b/arch/m68k/amiga/cia.c
@@ -121,11 +121,10 @@ static void cia_disable_irq(unsigned int irq)
121 cia_able_irq(&ciaa_base, 1 << (irq - IRQ_AMIGA_CIAA)); 121 cia_able_irq(&ciaa_base, 1 << (irq - IRQ_AMIGA_CIAA));
122} 122}
123 123
124static struct irq_controller cia_irq_controller = { 124static struct irq_chip cia_irq_chip = {
125 .name = "cia", 125 .name = "cia",
126 .lock = __SPIN_LOCK_UNLOCKED(cia_irq_controller.lock), 126 .irq_enable = cia_enable_irq,
127 .enable = cia_enable_irq, 127 .irq_disable = cia_disable_irq,
128 .disable = cia_disable_irq,
129}; 128};
130 129
131/* 130/*
@@ -158,23 +157,22 @@ static void auto_disable_irq(unsigned int irq)
158 } 157 }
159} 158}
160 159
161static struct irq_controller auto_irq_controller = { 160static struct irq_chip auto_irq_chip = {
162 .name = "auto", 161 .name = "auto",
163 .lock = __SPIN_LOCK_UNLOCKED(auto_irq_controller.lock), 162 .irq_enable = auto_enable_irq,
164 .enable = auto_enable_irq, 163 .irq_disable = auto_disable_irq,
165 .disable = auto_disable_irq,
166}; 164};
167 165
168void __init cia_init_IRQ(struct ciabase *base) 166void __init cia_init_IRQ(struct ciabase *base)
169{ 167{
170 m68k_setup_irq_controller(&cia_irq_controller, base->cia_irq, CIA_IRQS); 168 m68k_setup_irq_chip(&cia_irq_chip, base->cia_irq, CIA_IRQS);
171 169
172 /* clear any pending interrupt and turn off all interrupts */ 170 /* clear any pending interrupt and turn off all interrupts */
173 cia_set_irq(base, CIA_ICR_ALL); 171 cia_set_irq(base, CIA_ICR_ALL);
174 cia_able_irq(base, CIA_ICR_ALL); 172 cia_able_irq(base, CIA_ICR_ALL);
175 173
176 /* override auto int and install CIA handler */ 174 /* override auto int and install CIA handler */
177 m68k_setup_irq_controller(&auto_irq_controller, base->handler_irq, 1); 175 m68k_setup_irq_chip(&auto_irq_chip, base->handler_irq, 1);
178 m68k_irq_startup(base->handler_irq); 176 m68k_irq_startup(base->handler_irq);
179 if (request_irq(base->handler_irq, cia_handler, IRQF_SHARED, 177 if (request_irq(base->handler_irq, cia_handler, IRQF_SHARED,
180 base->name, base)) 178 base->name, base))