diff options
Diffstat (limited to 'drivers/macintosh/via-cuda.c')
-rw-r--r-- | drivers/macintosh/via-cuda.c | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/drivers/macintosh/via-cuda.c b/drivers/macintosh/via-cuda.c index 6501db50fb83..69d5452fd22f 100644 --- a/drivers/macintosh/via-cuda.c +++ b/drivers/macintosh/via-cuda.c | |||
@@ -34,13 +34,6 @@ | |||
34 | static volatile unsigned char __iomem *via; | 34 | static volatile unsigned char __iomem *via; |
35 | static DEFINE_SPINLOCK(cuda_lock); | 35 | static DEFINE_SPINLOCK(cuda_lock); |
36 | 36 | ||
37 | #ifdef CONFIG_MAC | ||
38 | #define CUDA_IRQ IRQ_MAC_ADB | ||
39 | #define eieio() | ||
40 | #else | ||
41 | #define CUDA_IRQ vias->intrs[0].line | ||
42 | #endif | ||
43 | |||
44 | /* VIA registers - spaced 0x200 bytes apart */ | 37 | /* VIA registers - spaced 0x200 bytes apart */ |
45 | #define RS 0x200 /* skip between registers */ | 38 | #define RS 0x200 /* skip between registers */ |
46 | #define B 0 /* B-side data */ | 39 | #define B 0 /* B-side data */ |
@@ -189,11 +182,24 @@ int __init find_via_cuda(void) | |||
189 | 182 | ||
190 | static int __init via_cuda_start(void) | 183 | static int __init via_cuda_start(void) |
191 | { | 184 | { |
185 | unsigned int irq; | ||
186 | |||
192 | if (via == NULL) | 187 | if (via == NULL) |
193 | return -ENODEV; | 188 | return -ENODEV; |
194 | 189 | ||
195 | if (request_irq(CUDA_IRQ, cuda_interrupt, 0, "ADB", cuda_interrupt)) { | 190 | #ifdef CONFIG_MAC |
196 | printk(KERN_ERR "cuda_init: can't get irq %d\n", CUDA_IRQ); | 191 | irq = IRQ_MAC_ADB; |
192 | #else /* CONFIG_MAC */ | ||
193 | irq = irq_of_parse_and_map(vias, 0); | ||
194 | if (irq == NO_IRQ) { | ||
195 | printk(KERN_ERR "via-cuda: can't map interrupts for %s\n", | ||
196 | vias->full_name); | ||
197 | return -ENODEV; | ||
198 | } | ||
199 | #endif /* CONFIG_MAP */ | ||
200 | |||
201 | if (request_irq(irq, cuda_interrupt, 0, "ADB", cuda_interrupt)) { | ||
202 | printk(KERN_ERR "via-cuda: can't request irq %d\n", irq); | ||
197 | return -EAGAIN; | 203 | return -EAGAIN; |
198 | } | 204 | } |
199 | 205 | ||