aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m68k/mac/psc.c
diff options
context:
space:
mode:
authorGeert Uytterhoeven <geert@linux-m68k.org>2011-09-11 05:28:04 -0400
committerGeert Uytterhoeven <geert@linux-m68k.org>2011-11-08 16:35:52 -0500
commitd890d73995257b4e10cdd7d55bad80e34a71ba22 (patch)
tree3e4ee85a2d8d126e1570c7ea47178a2a8a627849 /arch/m68k/mac/psc.c
parenta03010ed9b399fdbc28ac8836e0a6d4b15403f9f (diff)
m68k/irq: Remove obsolete m68k irq framework
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Diffstat (limited to 'arch/m68k/mac/psc.c')
-rw-r--r--arch/m68k/mac/psc.c44
1 files changed, 0 insertions, 44 deletions
diff --git a/arch/m68k/mac/psc.c b/arch/m68k/mac/psc.c
index 52840b8c03b8..e6c2d20f328d 100644
--- a/arch/m68k/mac/psc.c
+++ b/arch/m68k/mac/psc.c
@@ -18,9 +18,7 @@
18#include <linux/mm.h> 18#include <linux/mm.h>
19#include <linux/delay.h> 19#include <linux/delay.h>
20#include <linux/init.h> 20#include <linux/init.h>
21#ifdef CONFIG_GENERIC_HARDIRQS
22#include <linux/irq.h> 21#include <linux/irq.h>
23#endif
24 22
25#include <asm/traps.h> 23#include <asm/traps.h>
26#include <asm/bootinfo.h> 24#include <asm/bootinfo.h>
@@ -116,7 +114,6 @@ void __init psc_init(void)
116 * PSC interrupt handler. It's a lot like the VIA interrupt handler. 114 * PSC interrupt handler. It's a lot like the VIA interrupt handler.
117 */ 115 */
118 116
119#ifdef CONFIG_GENERIC_HARDIRQS
120static void psc_irq(unsigned int irq, struct irq_desc *desc) 117static void psc_irq(unsigned int irq, struct irq_desc *desc)
121{ 118{
122 unsigned int offset = (unsigned int)irq_desc_get_handler_data(desc); 119 unsigned int offset = (unsigned int)irq_desc_get_handler_data(desc);
@@ -145,36 +142,6 @@ static void psc_irq(unsigned int irq, struct irq_desc *desc)
145 irq_bit <<= 1; 142 irq_bit <<= 1;
146 } while (events >= irq_bit); 143 } while (events >= irq_bit);
147} 144}
148#else
149static irqreturn_t psc_irq(int irq, void *dev_id)
150{
151 int pIFR = pIFRbase + ((int) dev_id);
152 int pIER = pIERbase + ((int) dev_id);
153 int irq_num;
154 unsigned char irq_bit, events;
155
156#ifdef DEBUG_IRQS
157 printk("psc_irq: irq %d pIFR = 0x%02X pIER = 0x%02X\n",
158 irq, (int) psc_read_byte(pIFR), (int) psc_read_byte(pIER));
159#endif
160
161 events = psc_read_byte(pIFR) & psc_read_byte(pIER) & 0xF;
162 if (!events)
163 return IRQ_NONE;
164
165 irq_num = irq << 3;
166 irq_bit = 1;
167 do {
168 if (events & irq_bit) {
169 psc_write_byte(pIFR, irq_bit);
170 generic_handle_irq(irq_num);
171 }
172 irq_num++;
173 irq_bit <<= 1;
174 } while (events >= irq_bit);
175 return IRQ_HANDLED;
176}
177#endif
178 145
179/* 146/*
180 * Register the PSC interrupt dispatchers for autovector interrupts 3-6. 147 * Register the PSC interrupt dispatchers for autovector interrupts 3-6.
@@ -182,7 +149,6 @@ static irqreturn_t psc_irq(int irq, void *dev_id)
182 149
183void __init psc_register_interrupts(void) 150void __init psc_register_interrupts(void)
184{ 151{
185#ifdef CONFIG_GENERIC_HARDIRQS
186 irq_set_chained_handler(IRQ_AUTO_3, psc_irq); 152 irq_set_chained_handler(IRQ_AUTO_3, psc_irq);
187 irq_set_handler_data(IRQ_AUTO_3, (void *)0x30); 153 irq_set_handler_data(IRQ_AUTO_3, (void *)0x30);
188 irq_set_chained_handler(IRQ_AUTO_4, psc_irq); 154 irq_set_chained_handler(IRQ_AUTO_4, psc_irq);
@@ -191,16 +157,6 @@ void __init psc_register_interrupts(void)
191 irq_set_handler_data(IRQ_AUTO_5, (void *)0x50); 157 irq_set_handler_data(IRQ_AUTO_5, (void *)0x50);
192 irq_set_chained_handler(IRQ_AUTO_6, psc_irq); 158 irq_set_chained_handler(IRQ_AUTO_6, psc_irq);
193 irq_set_handler_data(IRQ_AUTO_6, (void *)0x60); 159 irq_set_handler_data(IRQ_AUTO_6, (void *)0x60);
194#else /* !CONFIG_GENERIC_HARDIRQS */
195 if (request_irq(IRQ_AUTO_3, psc_irq, 0, "psc3", (void *) 0x30))
196 pr_err("Couldn't register psc%d interrupt\n", 3);
197 if (request_irq(IRQ_AUTO_4, psc_irq, 0, "psc4", (void *) 0x40))
198 pr_err("Couldn't register psc%d interrupt\n", 4);
199 if (request_irq(IRQ_AUTO_5, psc_irq, 0, "psc5", (void *) 0x50))
200 pr_err("Couldn't register psc%d interrupt\n", 5);
201 if (request_irq(IRQ_AUTO_6, psc_irq, 0, "psc6", (void *) 0x60))
202 pr_err("Couldn't register psc%d interrupt\n", 6);
203#endif /* !CONFIG_GENERIC_HARDIRQS */
204} 160}
205 161
206void psc_irq_enable(int irq) { 162void psc_irq_enable(int irq) {