]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - arch/sparc64/kernel/irq.c
[PATCH] genirq: rename desc->handler to desc->chip
[karo-tx-linux.git] / arch / sparc64 / kernel / irq.c
index 31e0fbb0d82c29b140a729e644f1ec7c24dd05db..5d7c821ab7f64eb65d5b94f5a257c3b5fcdbd32f 100644 (file)
@@ -151,7 +151,7 @@ int show_interrupts(struct seq_file *p, void *v)
                for_each_online_cpu(j)
                        seq_printf(p, "%10u ", kstat_cpu(j).irqs[i]);
 #endif
-               seq_printf(p, " %9s", irq_desc[i].handler->typename);
+               seq_printf(p, " %9s", irq_desc[i].chip->typename);
                seq_printf(p, "  %s", action->name);
 
                for (action=action->next; action; action = action->next)
@@ -414,8 +414,8 @@ void irq_install_pre_handler(int virt_irq,
        data->pre_handler_arg1 = arg1;
        data->pre_handler_arg2 = arg2;
 
-       desc->handler = (desc->handler == &sun4u_irq ?
-                        &sun4u_irq_ack : &sun4v_irq_ack);
+       desc->chip = (desc->chip == &sun4u_irq ?
+                     &sun4u_irq_ack : &sun4v_irq_ack);
 }
 
 unsigned int build_irq(int inofixup, unsigned long iclr, unsigned long imap)
@@ -431,7 +431,7 @@ unsigned int build_irq(int inofixup, unsigned long iclr, unsigned long imap)
        bucket = &ivector_table[ino];
        if (!bucket->virt_irq) {
                bucket->virt_irq = virt_irq_alloc(__irq(bucket));
-               irq_desc[bucket->virt_irq].handler = &sun4u_irq;
+               irq_desc[bucket->virt_irq].chip = &sun4u_irq;
        }
 
        desc = irq_desc + bucket->virt_irq;
@@ -465,7 +465,7 @@ unsigned int sun4v_build_irq(u32 devhandle, unsigned int devino)
        bucket = &ivector_table[sysino];
        if (!bucket->virt_irq) {
                bucket->virt_irq = virt_irq_alloc(__irq(bucket));
-               irq_desc[bucket->virt_irq].handler = &sun4v_irq;
+               irq_desc[bucket->virt_irq].chip = &sun4v_irq;
        }
 
        desc = irq_desc + bucket->virt_irq;
@@ -563,67 +563,6 @@ void handler_irq(int irq, struct pt_regs *regs)
        irq_exit();
 }
 
-#ifdef CONFIG_BLK_DEV_FD
-extern irqreturn_t floppy_interrupt(int, void *, struct pt_regs *);
-
-/* XXX No easy way to include asm/floppy.h XXX */
-extern unsigned char *pdma_vaddr;
-extern unsigned long pdma_size;
-extern volatile int doing_pdma;
-extern unsigned long fdc_status;
-
-irqreturn_t sparc_floppy_irq(int irq, void *dev_cookie, struct pt_regs *regs)
-{
-       if (likely(doing_pdma)) {
-               void __iomem *stat = (void __iomem *) fdc_status;
-               unsigned char *vaddr = pdma_vaddr;
-               unsigned long size = pdma_size;
-               u8 val;
-
-               while (size) {
-                       val = readb(stat);
-                       if (unlikely(!(val & 0x80))) {
-                               pdma_vaddr = vaddr;
-                               pdma_size = size;
-                               return IRQ_HANDLED;
-                       }
-                       if (unlikely(!(val & 0x20))) {
-                               pdma_vaddr = vaddr;
-                               pdma_size = size;
-                               doing_pdma = 0;
-                               goto main_interrupt;
-                       }
-                       if (val & 0x40) {
-                               /* read */
-                               *vaddr++ = readb(stat + 1);
-                       } else {
-                               unsigned char data = *vaddr++;
-
-                               /* write */
-                               writeb(data, stat + 1);
-                       }
-                       size--;
-               }
-
-               pdma_vaddr = vaddr;
-               pdma_size = size;
-
-               /* Send Terminal Count pulse to floppy controller. */
-               val = readb(auxio_register);
-               val |= AUXIO_AUX1_FTCNT;
-               writeb(val, auxio_register);
-               val &= ~AUXIO_AUX1_FTCNT;
-               writeb(val, auxio_register);
-
-               doing_pdma = 0;
-       }
-
-main_interrupt:
-       return floppy_interrupt(irq, dev_cookie, regs);
-}
-EXPORT_SYMBOL(sparc_floppy_irq);
-#endif
-
 struct sun5_timer {
        u64     count0;
        u64     limit0;