diff options
Diffstat (limited to 'arch/m68k/mac/baboon.c')
-rw-r--r-- | arch/m68k/mac/baboon.c | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/arch/m68k/mac/baboon.c b/arch/m68k/mac/baboon.c index 425144cbfa7d..b55ead284971 100644 --- a/arch/m68k/mac/baboon.c +++ b/arch/m68k/mac/baboon.c | |||
@@ -11,9 +11,7 @@ | |||
11 | #include <linux/mm.h> | 11 | #include <linux/mm.h> |
12 | #include <linux/delay.h> | 12 | #include <linux/delay.h> |
13 | #include <linux/init.h> | 13 | #include <linux/init.h> |
14 | #ifdef CONFIG_GENERIC_HARDIRQS | ||
15 | #include <linux/irq.h> | 14 | #include <linux/irq.h> |
16 | #endif | ||
17 | 15 | ||
18 | #include <asm/traps.h> | 16 | #include <asm/traps.h> |
19 | #include <asm/bootinfo.h> | 17 | #include <asm/bootinfo.h> |
@@ -56,7 +54,6 @@ void __init baboon_init(void) | |||
56 | * Baboon interrupt handler. This works a lot like a VIA. | 54 | * Baboon interrupt handler. This works a lot like a VIA. |
57 | */ | 55 | */ |
58 | 56 | ||
59 | #ifdef CONFIG_GENERIC_HARDIRQS | ||
60 | static void baboon_irq(unsigned int irq, struct irq_desc *desc) | 57 | static void baboon_irq(unsigned int irq, struct irq_desc *desc) |
61 | { | 58 | { |
62 | int irq_bit, irq_num; | 59 | int irq_bit, irq_num; |
@@ -88,39 +85,6 @@ static void baboon_irq(unsigned int irq, struct irq_desc *desc) | |||
88 | baboon->mb_ifr &= ~events; | 85 | baboon->mb_ifr &= ~events; |
89 | #endif | 86 | #endif |
90 | } | 87 | } |
91 | #else | ||
92 | static irqreturn_t baboon_irq(int irq, void *dev_id) | ||
93 | { | ||
94 | int irq_bit, irq_num; | ||
95 | unsigned char events; | ||
96 | |||
97 | #ifdef DEBUG_IRQS | ||
98 | printk("baboon_irq: mb_control %02X mb_ifr %02X mb_status %02X\n", | ||
99 | (uint) baboon->mb_control, (uint) baboon->mb_ifr, | ||
100 | (uint) baboon->mb_status); | ||
101 | #endif | ||
102 | |||
103 | if (!(events = baboon->mb_ifr & 0x07)) | ||
104 | return IRQ_NONE; | ||
105 | |||
106 | irq_num = IRQ_BABOON_0; | ||
107 | irq_bit = 1; | ||
108 | do { | ||
109 | if (events & irq_bit) { | ||
110 | baboon->mb_ifr &= ~irq_bit; | ||
111 | generic_handle_irq(irq_num); | ||
112 | } | ||
113 | irq_bit <<= 1; | ||
114 | irq_num++; | ||
115 | } while(events >= irq_bit); | ||
116 | #if 0 | ||
117 | if (baboon->mb_ifr & 0x02) macide_ack_intr(NULL); | ||
118 | /* for now we need to smash all interrupts */ | ||
119 | baboon->mb_ifr &= ~events; | ||
120 | #endif | ||
121 | return IRQ_HANDLED; | ||
122 | } | ||
123 | #endif | ||
124 | 88 | ||
125 | /* | 89 | /* |
126 | * Register the Baboon interrupt dispatcher on nubus slot $C. | 90 | * Register the Baboon interrupt dispatcher on nubus slot $C. |
@@ -129,12 +93,7 @@ static irqreturn_t baboon_irq(int irq, void *dev_id) | |||
129 | void __init baboon_register_interrupts(void) | 93 | void __init baboon_register_interrupts(void) |
130 | { | 94 | { |
131 | baboon_disabled = 0; | 95 | baboon_disabled = 0; |
132 | #ifdef CONFIG_GENERIC_HARDIRQS | ||
133 | irq_set_chained_handler(IRQ_NUBUS_C, baboon_irq); | 96 | irq_set_chained_handler(IRQ_NUBUS_C, baboon_irq); |
134 | #else | ||
135 | if (request_irq(IRQ_NUBUS_C, baboon_irq, 0, "baboon", (void *)baboon)) | ||
136 | pr_err("Couldn't register baboon interrupt\n"); | ||
137 | #endif | ||
138 | } | 97 | } |
139 | 98 | ||
140 | /* | 99 | /* |