aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2010-10-08 04:40:53 -0400
committerThomas Gleixner <tglx@linutronix.de>2010-10-12 10:53:40 -0400
commitbc5fdf9f3aad37406b3c8d635a7940cd65de0c12 (patch)
tree447e1c19cc21f5d4f2d490ef059f1f337e59fab0 /arch/x86
parentfbc6bff04a095e049be290ff6f6ac68839166bd6 (diff)
x86: io_apic: Remove the now unused sparse_irq arch_* functions
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/kernel/apic/io_apic.c120
1 files changed, 0 insertions, 120 deletions
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
index ed340297571e..6ff6bb883c58 100644
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -212,126 +212,6 @@ static void free_irq_cfg(unsigned int at, struct irq_cfg *cfg)
212 kfree(cfg); 212 kfree(cfg);
213} 213}
214 214
215#if 0
216int arch_init_chip_data(struct irq_desc *desc, int node)
217{
218 struct irq_cfg *cfg;
219
220 cfg = get_irq_desc_chip_data(desc);
221 if (!cfg) {
222 cfg = alloc_irq_cfg(desc->irq, node);
223 desc->chip_data = cfg;
224 if (!cfg) {
225 printk(KERN_ERR "can not alloc irq_cfg\n");
226 BUG_ON(1);
227 }
228 }
229
230 return 0;
231}
232
233/* for move_irq_desc */
234static void
235init_copy_irq_2_pin(struct irq_cfg *old_cfg, struct irq_cfg *cfg, int node)
236{
237 struct irq_pin_list *old_entry, *head, *tail, *entry;
238
239 cfg->irq_2_pin = NULL;
240 old_entry = old_cfg->irq_2_pin;
241 if (!old_entry)
242 return;
243
244 entry = alloc_irq_pin_list(node);
245 if (!entry)
246 return;
247
248 entry->apic = old_entry->apic;
249 entry->pin = old_entry->pin;
250 head = entry;
251 tail = entry;
252 old_entry = old_entry->next;
253 while (old_entry) {
254 entry = alloc_irq_pin_list(node);
255 if (!entry) {
256 entry = head;
257 while (entry) {
258 head = entry->next;
259 kfree(entry);
260 entry = head;
261 }
262 /* still use the old one */
263 return;
264 }
265 entry->apic = old_entry->apic;
266 entry->pin = old_entry->pin;
267 tail->next = entry;
268 tail = entry;
269 old_entry = old_entry->next;
270 }
271
272 tail->next = NULL;
273 cfg->irq_2_pin = head;
274}
275
276static void free_irq_2_pin(struct irq_cfg *old_cfg, struct irq_cfg *cfg)
277{
278 struct irq_pin_list *entry, *next;
279
280 if (old_cfg->irq_2_pin == cfg->irq_2_pin)
281 return;
282
283 entry = old_cfg->irq_2_pin;
284
285 while (entry) {
286 next = entry->next;
287 kfree(entry);
288 entry = next;
289 }
290 old_cfg->irq_2_pin = NULL;
291}
292
293void arch_init_copy_chip_data(struct irq_desc *old_desc,
294 struct irq_desc *desc, int node)
295{
296 struct irq_cfg *cfg;
297 struct irq_cfg *old_cfg;
298
299 cfg = alloc_irq_cfg(desc->irq, node);
300
301 if (!cfg)
302 return;
303
304 desc->chip_data = cfg;
305
306 old_cfg = old_desc->chip_data;
307
308 cfg->vector = old_cfg->vector;
309 cfg->move_in_progress = old_cfg->move_in_progress;
310 cpumask_copy(cfg->domain, old_cfg->domain);
311 cpumask_copy(cfg->old_domain, old_cfg->old_domain);
312
313 init_copy_irq_2_pin(old_cfg, cfg, node);
314}
315
316void arch_free_chip_data(struct irq_desc *old_desc, struct irq_desc *desc)
317{
318 struct irq_cfg *old_cfg, *cfg;
319
320 old_cfg = get_irq_desc_chip_data(old_desc);
321 cfg = get_irq_desc_chip_data(desc);
322
323 if (old_cfg == cfg)
324 return;
325
326 if (old_cfg) {
327 free_irq_2_pin(old_cfg, cfg);
328 free_irq_cfg(old_desc->irq, old_cfg);
329 old_desc->chip_data = NULL;
330 }
331}
332/* end for move_irq_desc */
333#endif
334
335#else 215#else
336 216
337struct irq_cfg *irq_cfg(unsigned int irq) 217struct irq_cfg *irq_cfg(unsigned int irq)