aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/parisc/gsc.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/gsc.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/gsc.c')
-rw-r--r--drivers/parisc/gsc.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/drivers/parisc/gsc.c b/drivers/parisc/gsc.c
index 772b1939ac21..ef31080cf591 100644
--- a/drivers/parisc/gsc.c
+++ b/drivers/parisc/gsc.c
@@ -105,13 +105,13 @@ int gsc_find_local_irq(unsigned int irq, int *global_irqs, int limit)
105 return NO_IRQ; 105 return NO_IRQ;
106} 106}
107 107
108static void gsc_asic_mask_irq(unsigned int irq) 108static void gsc_asic_mask_irq(struct irq_data *d)
109{ 109{
110 struct gsc_asic *irq_dev = get_irq_chip_data(irq); 110 struct gsc_asic *irq_dev = irq_data_get_irq_chip_data(d);
111 int local_irq = gsc_find_local_irq(irq, irq_dev->global_irq, 32); 111 int local_irq = gsc_find_local_irq(d->irq, irq_dev->global_irq, 32);
112 u32 imr; 112 u32 imr;
113 113
114 DEBPRINTK(KERN_DEBUG "%s(%d) %s: IMR 0x%x\n", __func__, irq, 114 DEBPRINTK(KERN_DEBUG "%s(%d) %s: IMR 0x%x\n", __func__, d->irq,
115 irq_dev->name, imr); 115 irq_dev->name, imr);
116 116
117 /* Disable the IRQ line by clearing the bit in the IMR */ 117 /* Disable the IRQ line by clearing the bit in the IMR */
@@ -120,13 +120,13 @@ static void gsc_asic_mask_irq(unsigned int irq)
120 gsc_writel(imr, irq_dev->hpa + OFFSET_IMR); 120 gsc_writel(imr, irq_dev->hpa + OFFSET_IMR);
121} 121}
122 122
123static void gsc_asic_unmask_irq(unsigned int irq) 123static void gsc_asic_unmask_irq(struct irq_data *d)
124{ 124{
125 struct gsc_asic *irq_dev = get_irq_chip_data(irq); 125 struct gsc_asic *irq_dev = irq_data_get_irq_chip_data(d);
126 int local_irq = gsc_find_local_irq(irq, irq_dev->global_irq, 32); 126 int local_irq = gsc_find_local_irq(d->irq, irq_dev->global_irq, 32);
127 u32 imr; 127 u32 imr;
128 128
129 DEBPRINTK(KERN_DEBUG "%s(%d) %s: IMR 0x%x\n", __func__, irq, 129 DEBPRINTK(KERN_DEBUG "%s(%d) %s: IMR 0x%x\n", __func__, d->irq,
130 irq_dev->name, imr); 130 irq_dev->name, imr);
131 131
132 /* Enable the IRQ line by setting the bit in the IMR */ 132 /* Enable the IRQ line by setting the bit in the IMR */
@@ -140,9 +140,9 @@ static void gsc_asic_unmask_irq(unsigned int irq)
140} 140}
141 141
142static struct irq_chip gsc_asic_interrupt_type = { 142static struct irq_chip gsc_asic_interrupt_type = {
143 .name = "GSC-ASIC", 143 .name = "GSC-ASIC",
144 .unmask = gsc_asic_unmask_irq, 144 .irq_unmask = gsc_asic_unmask_irq,
145 .mask = gsc_asic_mask_irq, 145 .irq_mask = gsc_asic_mask_irq,
146}; 146};
147 147
148int gsc_assign_irq(struct irq_chip *type, void *data) 148int gsc_assign_irq(struct irq_chip *type, void *data)