parisc: convert gsc and dino pci interrupts to flow handlers
authorKyle McMartin <kyle@dreadnought.i.jkkm.org>
Thu, 14 Oct 2010 04:58:53 +0000 (00:58 -0400)
committerKyle McMartin <kyle@dreadnought.i.jkkm.org>
Thu, 14 Oct 2010 05:30:46 +0000 (01:30 -0400)
Signed-off-by: Kyle McMartin <kyle@redhat.com>
drivers/parisc/dino.c
drivers/parisc/gsc.c

index 3013c57..d9f5148 100644 (file)
@@ -296,7 +296,7 @@ static struct pci_port_ops dino_port_ops = {
        .outl   = dino_out32
 };
 
-static void dino_disable_irq(unsigned int irq)
+static void dino_mask_irq(unsigned int irq)
 {
        struct dino_device *dino_dev = get_irq_chip_data(irq);
        int local_irq = gsc_find_local_irq(irq, dino_dev->global_irq, DINO_LOCAL_IRQS);
@@ -308,7 +308,7 @@ static void dino_disable_irq(unsigned int irq)
        __raw_writel(dino_dev->imr, dino_dev->hba.base_addr+DINO_IMR);
 }
 
-static void dino_enable_irq(unsigned int irq)
+static void dino_unmask_irq(unsigned int irq)
 {
        struct dino_device *dino_dev = get_irq_chip_data(irq);
        int local_irq = gsc_find_local_irq(irq, dino_dev->global_irq, DINO_LOCAL_IRQS);
@@ -345,20 +345,11 @@ static void dino_enable_irq(unsigned int irq)
        }
 }
 
-static unsigned int dino_startup_irq(unsigned int irq)
-{
-       dino_enable_irq(irq);
-       return 0;
-}
-
 static struct irq_chip dino_interrupt_type = {
-       .name           = "GSC-PCI",
-       .startup        = dino_startup_irq,
-       .shutdown       = dino_disable_irq,
-       .enable         = dino_enable_irq, 
-       .disable        = dino_disable_irq,
-       .ack            = no_ack_irq,
-       .end            = no_end_irq,
+       .name   = "GSC-PCI",
+       .unmask = dino_unmask_irq,
+       .mask   = dino_mask_irq,
+       .ack    = no_ack_irq,
 };
 
 
index 68bccda..e605298 100644 (file)
@@ -105,7 +105,7 @@ int gsc_find_local_irq(unsigned int irq, int *global_irqs, int limit)
        return NO_IRQ;
 }
 
-static void gsc_asic_disable_irq(unsigned int irq)
+static void gsc_asic_mask_irq(unsigned int irq)
 {
        struct gsc_asic *irq_dev = get_irq_chip_data(irq);
        int local_irq = gsc_find_local_irq(irq, irq_dev->global_irq, 32);
@@ -120,7 +120,7 @@ static void gsc_asic_disable_irq(unsigned int irq)
        gsc_writel(imr, irq_dev->hpa + OFFSET_IMR);
 }
 
-static void gsc_asic_enable_irq(unsigned int irq)
+static void gsc_asic_unmask_irq(unsigned int irq)
 {
        struct gsc_asic *irq_dev = get_irq_chip_data(irq);
        int local_irq = gsc_find_local_irq(irq, irq_dev->global_irq, 32);
@@ -139,20 +139,11 @@ static void gsc_asic_enable_irq(unsigned int irq)
         */
 }
 
-static unsigned int gsc_asic_startup_irq(unsigned int irq)
-{
-       gsc_asic_enable_irq(irq);
-       return 0;
-}
-
 static struct irq_chip gsc_asic_interrupt_type = {
-       .name    =      "GSC-ASIC",
-       .startup =      gsc_asic_startup_irq,
-       .shutdown =     gsc_asic_disable_irq,
-       .enable =       gsc_asic_enable_irq,
-       .disable =      gsc_asic_disable_irq,
-       .ack =          no_ack_irq,
-       .end =          no_end_irq,
+       .name   =       "GSC-ASIC",
+       .unmask =       gsc_asic_unmask_irq,
+       .mask   =       gsc_asic_mask_irq,
+       .ack    =       no_ack_irq,
 };
 
 int gsc_assign_irq(struct irq_chip *type, void *data)
@@ -162,7 +153,7 @@ int gsc_assign_irq(struct irq_chip *type, void *data)
        if (irq > GSC_IRQ_MAX)
                return NO_IRQ;
 
-       set_irq_chip_and_handler(irq, type, parisc_do_IRQ);
+       set_irq_chip_and_handler(irq, type, handle_level_irq);
        set_irq_chip_data(irq, data);
 
        return irq++;