aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/parisc/dino.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2011-02-06 15:45:52 -0500
committerJames Bottomley <James.Bottomley@suse.de>2011-02-10 11:22:14 -0500
commit4c4231ea2f794d73bbb50b8d84e00c66a012a607 (patch)
tree4c2470ea880a75c22f275402fe5a186902edd6d5 /drivers/parisc/dino.c
parent9804c9eaeacfe78651052c5ddff31099f60ef78c (diff)
[PARISC] Convert to new irq_chip functions
Convert all the parisc driver interrupt handlers (dino, eisa, gsc, iosapic and superio) as well as the cpu interrupts. Prepare show_interrupts for GENERIC_HARDIRQS_NO_DEPRECATED and finally selects that Kconfig option [jejb: compile and testing fixes] Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/parisc/dino.c')
-rw-r--r--drivers/parisc/dino.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/drivers/parisc/dino.c b/drivers/parisc/dino.c
index 9383063d2b16..bcd5d54b7d4d 100644
--- a/drivers/parisc/dino.c
+++ b/drivers/parisc/dino.c
@@ -296,25 +296,25 @@ static struct pci_port_ops dino_port_ops = {
296 .outl = dino_out32 296 .outl = dino_out32
297}; 297};
298 298
299static void dino_mask_irq(unsigned int irq) 299static void dino_mask_irq(struct irq_data *d)
300{ 300{
301 struct dino_device *dino_dev = get_irq_chip_data(irq); 301 struct dino_device *dino_dev = irq_data_get_irq_chip_data(d);
302 int local_irq = gsc_find_local_irq(irq, dino_dev->global_irq, DINO_LOCAL_IRQS); 302 int local_irq = gsc_find_local_irq(d->irq, dino_dev->global_irq, DINO_LOCAL_IRQS);
303 303
304 DBG(KERN_WARNING "%s(0x%p, %d)\n", __func__, dino_dev, irq); 304 DBG(KERN_WARNING "%s(0x%p, %d)\n", __func__, dino_dev, d->irq);
305 305
306 /* Clear the matching bit in the IMR register */ 306 /* Clear the matching bit in the IMR register */
307 dino_dev->imr &= ~(DINO_MASK_IRQ(local_irq)); 307 dino_dev->imr &= ~(DINO_MASK_IRQ(local_irq));
308 __raw_writel(dino_dev->imr, dino_dev->hba.base_addr+DINO_IMR); 308 __raw_writel(dino_dev->imr, dino_dev->hba.base_addr+DINO_IMR);
309} 309}
310 310
311static void dino_unmask_irq(unsigned int irq) 311static void dino_unmask_irq(struct irq_data *d)
312{ 312{
313 struct dino_device *dino_dev = get_irq_chip_data(irq); 313 struct dino_device *dino_dev = irq_data_get_irq_chip_data(d);
314 int local_irq = gsc_find_local_irq(irq, dino_dev->global_irq, DINO_LOCAL_IRQS); 314 int local_irq = gsc_find_local_irq(d->irq, dino_dev->global_irq, DINO_LOCAL_IRQS);
315 u32 tmp; 315 u32 tmp;
316 316
317 DBG(KERN_WARNING "%s(0x%p, %d)\n", __func__, dino_dev, irq); 317 DBG(KERN_WARNING "%s(0x%p, %d)\n", __func__, dino_dev, d->irq);
318 318
319 /* 319 /*
320 ** clear pending IRQ bits 320 ** clear pending IRQ bits
@@ -346,9 +346,9 @@ static void dino_unmask_irq(unsigned int irq)
346} 346}
347 347
348static struct irq_chip dino_interrupt_type = { 348static struct irq_chip dino_interrupt_type = {
349 .name = "GSC-PCI", 349 .name = "GSC-PCI",
350 .unmask = dino_unmask_irq, 350 .irq_unmask = dino_unmask_irq,
351 .mask = dino_mask_irq, 351 .irq_mask = dino_mask_irq,
352}; 352};
353 353
354 354