forked from luck/tmp_suning_uos_patched
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>
This commit is contained in:
parent
fbc6bff04a
commit
bc5fdf9f3a
@ -212,126 +212,6 @@ static void free_irq_cfg(unsigned int at, struct irq_cfg *cfg)
|
||||
kfree(cfg);
|
||||
}
|
||||
|
||||
#if 0
|
||||
int arch_init_chip_data(struct irq_desc *desc, int node)
|
||||
{
|
||||
struct irq_cfg *cfg;
|
||||
|
||||
cfg = get_irq_desc_chip_data(desc);
|
||||
if (!cfg) {
|
||||
cfg = alloc_irq_cfg(desc->irq, node);
|
||||
desc->chip_data = cfg;
|
||||
if (!cfg) {
|
||||
printk(KERN_ERR "can not alloc irq_cfg\n");
|
||||
BUG_ON(1);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* for move_irq_desc */
|
||||
static void
|
||||
init_copy_irq_2_pin(struct irq_cfg *old_cfg, struct irq_cfg *cfg, int node)
|
||||
{
|
||||
struct irq_pin_list *old_entry, *head, *tail, *entry;
|
||||
|
||||
cfg->irq_2_pin = NULL;
|
||||
old_entry = old_cfg->irq_2_pin;
|
||||
if (!old_entry)
|
||||
return;
|
||||
|
||||
entry = alloc_irq_pin_list(node);
|
||||
if (!entry)
|
||||
return;
|
||||
|
||||
entry->apic = old_entry->apic;
|
||||
entry->pin = old_entry->pin;
|
||||
head = entry;
|
||||
tail = entry;
|
||||
old_entry = old_entry->next;
|
||||
while (old_entry) {
|
||||
entry = alloc_irq_pin_list(node);
|
||||
if (!entry) {
|
||||
entry = head;
|
||||
while (entry) {
|
||||
head = entry->next;
|
||||
kfree(entry);
|
||||
entry = head;
|
||||
}
|
||||
/* still use the old one */
|
||||
return;
|
||||
}
|
||||
entry->apic = old_entry->apic;
|
||||
entry->pin = old_entry->pin;
|
||||
tail->next = entry;
|
||||
tail = entry;
|
||||
old_entry = old_entry->next;
|
||||
}
|
||||
|
||||
tail->next = NULL;
|
||||
cfg->irq_2_pin = head;
|
||||
}
|
||||
|
||||
static void free_irq_2_pin(struct irq_cfg *old_cfg, struct irq_cfg *cfg)
|
||||
{
|
||||
struct irq_pin_list *entry, *next;
|
||||
|
||||
if (old_cfg->irq_2_pin == cfg->irq_2_pin)
|
||||
return;
|
||||
|
||||
entry = old_cfg->irq_2_pin;
|
||||
|
||||
while (entry) {
|
||||
next = entry->next;
|
||||
kfree(entry);
|
||||
entry = next;
|
||||
}
|
||||
old_cfg->irq_2_pin = NULL;
|
||||
}
|
||||
|
||||
void arch_init_copy_chip_data(struct irq_desc *old_desc,
|
||||
struct irq_desc *desc, int node)
|
||||
{
|
||||
struct irq_cfg *cfg;
|
||||
struct irq_cfg *old_cfg;
|
||||
|
||||
cfg = alloc_irq_cfg(desc->irq, node);
|
||||
|
||||
if (!cfg)
|
||||
return;
|
||||
|
||||
desc->chip_data = cfg;
|
||||
|
||||
old_cfg = old_desc->chip_data;
|
||||
|
||||
cfg->vector = old_cfg->vector;
|
||||
cfg->move_in_progress = old_cfg->move_in_progress;
|
||||
cpumask_copy(cfg->domain, old_cfg->domain);
|
||||
cpumask_copy(cfg->old_domain, old_cfg->old_domain);
|
||||
|
||||
init_copy_irq_2_pin(old_cfg, cfg, node);
|
||||
}
|
||||
|
||||
void arch_free_chip_data(struct irq_desc *old_desc, struct irq_desc *desc)
|
||||
{
|
||||
struct irq_cfg *old_cfg, *cfg;
|
||||
|
||||
old_cfg = get_irq_desc_chip_data(old_desc);
|
||||
cfg = get_irq_desc_chip_data(desc);
|
||||
|
||||
if (old_cfg == cfg)
|
||||
return;
|
||||
|
||||
if (old_cfg) {
|
||||
free_irq_2_pin(old_cfg, cfg);
|
||||
free_irq_cfg(old_desc->irq, old_cfg);
|
||||
old_desc->chip_data = NULL;
|
||||
}
|
||||
}
|
||||
/* end for move_irq_desc */
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
struct irq_cfg *irq_cfg(unsigned int irq)
|
||||
|
Loading…
Reference in New Issue
Block a user