aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/85xx/socrates_fpga_pic.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/platforms/85xx/socrates_fpga_pic.c')
-rw-r--r--arch/powerpc/platforms/85xx/socrates_fpga_pic.c40
1 files changed, 20 insertions, 20 deletions
diff --git a/arch/powerpc/platforms/85xx/socrates_fpga_pic.c b/arch/powerpc/platforms/85xx/socrates_fpga_pic.c
index d48527ffc425..79d85aca4767 100644
--- a/arch/powerpc/platforms/85xx/socrates_fpga_pic.c
+++ b/arch/powerpc/platforms/85xx/socrates_fpga_pic.c
@@ -93,6 +93,7 @@ static inline unsigned int socrates_fpga_pic_get_irq(unsigned int irq)
93 93
94void socrates_fpga_pic_cascade(unsigned int irq, struct irq_desc *desc) 94void socrates_fpga_pic_cascade(unsigned int irq, struct irq_desc *desc)
95{ 95{
96 struct irq_chip *chip = get_irq_desc_chip(desc);
96 unsigned int cascade_irq; 97 unsigned int cascade_irq;
97 98
98 /* 99 /*
@@ -103,17 +104,16 @@ void socrates_fpga_pic_cascade(unsigned int irq, struct irq_desc *desc)
103 104
104 if (cascade_irq != NO_IRQ) 105 if (cascade_irq != NO_IRQ)
105 generic_handle_irq(cascade_irq); 106 generic_handle_irq(cascade_irq);
106 desc->chip->eoi(irq); 107 chip->irq_eoi(&desc->irq_data);
107
108} 108}
109 109
110static void socrates_fpga_pic_ack(unsigned int virq) 110static void socrates_fpga_pic_ack(struct irq_data *d)
111{ 111{
112 unsigned long flags; 112 unsigned long flags;
113 unsigned int hwirq, irq_line; 113 unsigned int hwirq, irq_line;
114 uint32_t mask; 114 uint32_t mask;
115 115
116 hwirq = socrates_fpga_irq_to_hw(virq); 116 hwirq = socrates_fpga_irq_to_hw(d->irq);
117 117
118 irq_line = fpga_irqs[hwirq].irq_line; 118 irq_line = fpga_irqs[hwirq].irq_line;
119 raw_spin_lock_irqsave(&socrates_fpga_pic_lock, flags); 119 raw_spin_lock_irqsave(&socrates_fpga_pic_lock, flags);
@@ -124,14 +124,14 @@ static void socrates_fpga_pic_ack(unsigned int virq)
124 raw_spin_unlock_irqrestore(&socrates_fpga_pic_lock, flags); 124 raw_spin_unlock_irqrestore(&socrates_fpga_pic_lock, flags);
125} 125}
126 126
127static void socrates_fpga_pic_mask(unsigned int virq) 127static void socrates_fpga_pic_mask(struct irq_data *d)
128{ 128{
129 unsigned long flags; 129 unsigned long flags;
130 unsigned int hwirq; 130 unsigned int hwirq;
131 int irq_line; 131 int irq_line;
132 u32 mask; 132 u32 mask;
133 133
134 hwirq = socrates_fpga_irq_to_hw(virq); 134 hwirq = socrates_fpga_irq_to_hw(d->irq);
135 135
136 irq_line = fpga_irqs[hwirq].irq_line; 136 irq_line = fpga_irqs[hwirq].irq_line;
137 raw_spin_lock_irqsave(&socrates_fpga_pic_lock, flags); 137 raw_spin_lock_irqsave(&socrates_fpga_pic_lock, flags);
@@ -142,14 +142,14 @@ static void socrates_fpga_pic_mask(unsigned int virq)
142 raw_spin_unlock_irqrestore(&socrates_fpga_pic_lock, flags); 142 raw_spin_unlock_irqrestore(&socrates_fpga_pic_lock, flags);
143} 143}
144 144
145static void socrates_fpga_pic_mask_ack(unsigned int virq) 145static void socrates_fpga_pic_mask_ack(struct irq_data *d)
146{ 146{
147 unsigned long flags; 147 unsigned long flags;
148 unsigned int hwirq; 148 unsigned int hwirq;
149 int irq_line; 149 int irq_line;
150 u32 mask; 150 u32 mask;
151 151
152 hwirq = socrates_fpga_irq_to_hw(virq); 152 hwirq = socrates_fpga_irq_to_hw(d->irq);
153 153
154 irq_line = fpga_irqs[hwirq].irq_line; 154 irq_line = fpga_irqs[hwirq].irq_line;
155 raw_spin_lock_irqsave(&socrates_fpga_pic_lock, flags); 155 raw_spin_lock_irqsave(&socrates_fpga_pic_lock, flags);
@@ -161,14 +161,14 @@ static void socrates_fpga_pic_mask_ack(unsigned int virq)
161 raw_spin_unlock_irqrestore(&socrates_fpga_pic_lock, flags); 161 raw_spin_unlock_irqrestore(&socrates_fpga_pic_lock, flags);
162} 162}
163 163
164static void socrates_fpga_pic_unmask(unsigned int virq) 164static void socrates_fpga_pic_unmask(struct irq_data *d)
165{ 165{
166 unsigned long flags; 166 unsigned long flags;
167 unsigned int hwirq; 167 unsigned int hwirq;
168 int irq_line; 168 int irq_line;
169 u32 mask; 169 u32 mask;
170 170
171 hwirq = socrates_fpga_irq_to_hw(virq); 171 hwirq = socrates_fpga_irq_to_hw(d->irq);
172 172
173 irq_line = fpga_irqs[hwirq].irq_line; 173 irq_line = fpga_irqs[hwirq].irq_line;
174 raw_spin_lock_irqsave(&socrates_fpga_pic_lock, flags); 174 raw_spin_lock_irqsave(&socrates_fpga_pic_lock, flags);
@@ -179,14 +179,14 @@ static void socrates_fpga_pic_unmask(unsigned int virq)
179 raw_spin_unlock_irqrestore(&socrates_fpga_pic_lock, flags); 179 raw_spin_unlock_irqrestore(&socrates_fpga_pic_lock, flags);
180} 180}
181 181
182static void socrates_fpga_pic_eoi(unsigned int virq) 182static void socrates_fpga_pic_eoi(struct irq_data *d)
183{ 183{
184 unsigned long flags; 184 unsigned long flags;
185 unsigned int hwirq; 185 unsigned int hwirq;
186 int irq_line; 186 int irq_line;
187 u32 mask; 187 u32 mask;
188 188
189 hwirq = socrates_fpga_irq_to_hw(virq); 189 hwirq = socrates_fpga_irq_to_hw(d->irq);
190 190
191 irq_line = fpga_irqs[hwirq].irq_line; 191 irq_line = fpga_irqs[hwirq].irq_line;
192 raw_spin_lock_irqsave(&socrates_fpga_pic_lock, flags); 192 raw_spin_lock_irqsave(&socrates_fpga_pic_lock, flags);
@@ -197,7 +197,7 @@ static void socrates_fpga_pic_eoi(unsigned int virq)
197 raw_spin_unlock_irqrestore(&socrates_fpga_pic_lock, flags); 197 raw_spin_unlock_irqrestore(&socrates_fpga_pic_lock, flags);
198} 198}
199 199
200static int socrates_fpga_pic_set_type(unsigned int virq, 200static int socrates_fpga_pic_set_type(struct irq_data *d,
201 unsigned int flow_type) 201 unsigned int flow_type)
202{ 202{
203 unsigned long flags; 203 unsigned long flags;
@@ -205,7 +205,7 @@ static int socrates_fpga_pic_set_type(unsigned int virq,
205 int polarity; 205 int polarity;
206 u32 mask; 206 u32 mask;
207 207
208 hwirq = socrates_fpga_irq_to_hw(virq); 208 hwirq = socrates_fpga_irq_to_hw(d->irq);
209 209
210 if (fpga_irqs[hwirq].type != IRQ_TYPE_NONE) 210 if (fpga_irqs[hwirq].type != IRQ_TYPE_NONE)
211 return -EINVAL; 211 return -EINVAL;
@@ -233,12 +233,12 @@ static int socrates_fpga_pic_set_type(unsigned int virq,
233 233
234static struct irq_chip socrates_fpga_pic_chip = { 234static struct irq_chip socrates_fpga_pic_chip = {
235 .name = "FPGA-PIC", 235 .name = "FPGA-PIC",
236 .ack = socrates_fpga_pic_ack, 236 .irq_ack = socrates_fpga_pic_ack,
237 .mask = socrates_fpga_pic_mask, 237 .irq_mask = socrates_fpga_pic_mask,
238 .mask_ack = socrates_fpga_pic_mask_ack, 238 .irq_mask_ack = socrates_fpga_pic_mask_ack,
239 .unmask = socrates_fpga_pic_unmask, 239 .irq_unmask = socrates_fpga_pic_unmask,
240 .eoi = socrates_fpga_pic_eoi, 240 .irq_eoi = socrates_fpga_pic_eoi,
241 .set_type = socrates_fpga_pic_set_type, 241 .irq_set_type = socrates_fpga_pic_set_type,
242}; 242};
243 243
244static int socrates_fpga_pic_host_map(struct irq_host *h, unsigned int virq, 244static int socrates_fpga_pic_host_map(struct irq_host *h, unsigned int virq,