Commit 7998b3bd156478c35de685f90d4d0dda57916c60

Authored by Kyle McMartin
1 parent 14ff626a64

parisc: convert gsc and dino pci interrupts to flow handlers

Signed-off-by: Kyle McMartin <kyle@redhat.com>

Showing 2 changed files with 13 additions and 31 deletions Side-by-side Diff

drivers/parisc/dino.c
... ... @@ -296,7 +296,7 @@
296 296 .outl = dino_out32
297 297 };
298 298  
299   -static void dino_disable_irq(unsigned int irq)
  299 +static void dino_mask_irq(unsigned int irq)
300 300 {
301 301 struct dino_device *dino_dev = get_irq_chip_data(irq);
302 302 int local_irq = gsc_find_local_irq(irq, dino_dev->global_irq, DINO_LOCAL_IRQS);
... ... @@ -308,7 +308,7 @@
308 308 __raw_writel(dino_dev->imr, dino_dev->hba.base_addr+DINO_IMR);
309 309 }
310 310  
311   -static void dino_enable_irq(unsigned int irq)
  311 +static void dino_unmask_irq(unsigned int irq)
312 312 {
313 313 struct dino_device *dino_dev = get_irq_chip_data(irq);
314 314 int local_irq = gsc_find_local_irq(irq, dino_dev->global_irq, DINO_LOCAL_IRQS);
315 315  
... ... @@ -345,20 +345,11 @@
345 345 }
346 346 }
347 347  
348   -static unsigned int dino_startup_irq(unsigned int irq)
349   -{
350   - dino_enable_irq(irq);
351   - return 0;
352   -}
353   -
354 348 static struct irq_chip dino_interrupt_type = {
355   - .name = "GSC-PCI",
356   - .startup = dino_startup_irq,
357   - .shutdown = dino_disable_irq,
358   - .enable = dino_enable_irq,
359   - .disable = dino_disable_irq,
360   - .ack = no_ack_irq,
361   - .end = no_end_irq,
  349 + .name = "GSC-PCI",
  350 + .unmask = dino_unmask_irq,
  351 + .mask = dino_mask_irq,
  352 + .ack = no_ack_irq,
362 353 };
363 354  
364 355  
drivers/parisc/gsc.c
... ... @@ -105,7 +105,7 @@
105 105 return NO_IRQ;
106 106 }
107 107  
108   -static void gsc_asic_disable_irq(unsigned int irq)
  108 +static void gsc_asic_mask_irq(unsigned int irq)
109 109 {
110 110 struct gsc_asic *irq_dev = get_irq_chip_data(irq);
111 111 int local_irq = gsc_find_local_irq(irq, irq_dev->global_irq, 32);
... ... @@ -120,7 +120,7 @@
120 120 gsc_writel(imr, irq_dev->hpa + OFFSET_IMR);
121 121 }
122 122  
123   -static void gsc_asic_enable_irq(unsigned int irq)
  123 +static void gsc_asic_unmask_irq(unsigned int irq)
124 124 {
125 125 struct gsc_asic *irq_dev = get_irq_chip_data(irq);
126 126 int local_irq = gsc_find_local_irq(irq, irq_dev->global_irq, 32);
127 127  
... ... @@ -139,20 +139,11 @@
139 139 */
140 140 }
141 141  
142   -static unsigned int gsc_asic_startup_irq(unsigned int irq)
143   -{
144   - gsc_asic_enable_irq(irq);
145   - return 0;
146   -}
147   -
148 142 static struct irq_chip gsc_asic_interrupt_type = {
149   - .name = "GSC-ASIC",
150   - .startup = gsc_asic_startup_irq,
151   - .shutdown = gsc_asic_disable_irq,
152   - .enable = gsc_asic_enable_irq,
153   - .disable = gsc_asic_disable_irq,
154   - .ack = no_ack_irq,
155   - .end = no_end_irq,
  143 + .name = "GSC-ASIC",
  144 + .unmask = gsc_asic_unmask_irq,
  145 + .mask = gsc_asic_mask_irq,
  146 + .ack = no_ack_irq,
156 147 };
157 148  
158 149 int gsc_assign_irq(struct irq_chip *type, void *data)
... ... @@ -162,7 +153,7 @@
162 153 if (irq > GSC_IRQ_MAX)
163 154 return NO_IRQ;
164 155  
165   - set_irq_chip_and_handler(irq, type, parisc_do_IRQ);
  156 + set_irq_chip_and_handler(irq, type, handle_level_irq);
166 157 set_irq_chip_data(irq, data);
167 158  
168 159 return irq++;