aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/sh/intc/virq.c
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2010-10-27 02:42:10 -0400
committerPaul Mundt <lethal@linux-sh.org>2010-10-27 02:42:10 -0400
commit26599a94dcadbed528a3e32a4f482a9766332f5b (patch)
tree11fff70fbef0971381399cd512beeaee74333a6e /drivers/sh/intc/virq.c
parent815db1477a2ce44d248a4ff853a2bef3616c7478 (diff)
sh: intc: irq_data conversion.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'drivers/sh/intc/virq.c')
-rw-r--r--drivers/sh/intc/virq.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/sh/intc/virq.c b/drivers/sh/intc/virq.c
index 643dfd4d2057..e5bf5d3c698e 100644
--- a/drivers/sh/intc/virq.c
+++ b/drivers/sh/intc/virq.c
@@ -83,11 +83,11 @@ EXPORT_SYMBOL_GPL(intc_irq_lookup);
83static int add_virq_to_pirq(unsigned int irq, unsigned int virq) 83static int add_virq_to_pirq(unsigned int irq, unsigned int virq)
84{ 84{
85 struct intc_virq_list **last, *entry; 85 struct intc_virq_list **last, *entry;
86 struct irq_desc *desc = irq_to_desc(irq); 86 struct irq_data *data = irq_get_irq_data(irq);
87 87
88 /* scan for duplicates */ 88 /* scan for duplicates */
89 last = (struct intc_virq_list **)&desc->handler_data; 89 last = (struct intc_virq_list **)&data->handler_data;
90 for_each_virq(entry, desc->handler_data) { 90 for_each_virq(entry, data->handler_data) {
91 if (entry->irq == virq) 91 if (entry->irq == virq)
92 return 0; 92 return 0;
93 last = &entry->next; 93 last = &entry->next;
@@ -108,10 +108,12 @@ static int add_virq_to_pirq(unsigned int irq, unsigned int virq)
108 108
109static void intc_virq_handler(unsigned int irq, struct irq_desc *desc) 109static void intc_virq_handler(unsigned int irq, struct irq_desc *desc)
110{ 110{
111 struct intc_virq_list *entry, *vlist = get_irq_data(irq); 111 struct irq_data *data = irq_get_irq_data(irq);
112 struct irq_chip *chip = irq_data_get_irq_chip(data);
113 struct intc_virq_list *entry, *vlist = irq_data_get_irq_data(data);
112 struct intc_desc_int *d = get_intc_desc(irq); 114 struct intc_desc_int *d = get_intc_desc(irq);
113 115
114 desc->chip->mask_ack(irq); 116 chip->irq_mask_ack(data);
115 117
116 for_each_virq(entry, vlist) { 118 for_each_virq(entry, vlist) {
117 unsigned long addr, handle; 119 unsigned long addr, handle;
@@ -123,7 +125,7 @@ static void intc_virq_handler(unsigned int irq, struct irq_desc *desc)
123 generic_handle_irq(entry->irq); 125 generic_handle_irq(entry->irq);
124 } 126 }
125 127
126 desc->chip->unmask(irq); 128 chip->irq_unmask(data);
127} 129}
128 130
129static unsigned long __init intc_subgroup_data(struct intc_subgroup *subgroup, 131static unsigned long __init intc_subgroup_data(struct intc_subgroup *subgroup,