aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/io_apic.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-01-28 09:42:24 -0500
committerIngo Molnar <mingo@elte.hu>2009-01-28 17:20:31 -0500
commitdac5f4121df3c39fdb2ea57acd669a0ae19e46f8 (patch)
treec3dde8b525b1a8e73732bdffdb7e819f4a14fd3a /arch/x86/kernel/io_apic.c
parentdebccb3e77be52cfc26c5a99e123c114c5c72aeb (diff)
x86, apic: untangle the send_IPI_*() jungle
Our send_IPI_*() methods and definitions are a twisted mess: the same symbol is defined to different things depending on .config details, in a non-transparent way. - spread out the quirks into separately named per apic driver methods - prefix the standard PC methods with default_ - get rid of wrapper macro obfuscation - clean up various details Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/io_apic.c')
-rw-r--r--arch/x86/kernel/io_apic.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/x86/kernel/io_apic.c b/arch/x86/kernel/io_apic.c
index 01a2505d7275..e90970ce21a0 100644
--- a/arch/x86/kernel/io_apic.c
+++ b/arch/x86/kernel/io_apic.c
@@ -514,11 +514,11 @@ static void send_cleanup_vector(struct irq_cfg *cfg)
514 for_each_cpu_and(i, cfg->old_domain, cpu_online_mask) 514 for_each_cpu_and(i, cfg->old_domain, cpu_online_mask)
515 cfg->move_cleanup_count++; 515 cfg->move_cleanup_count++;
516 for_each_cpu_and(i, cfg->old_domain, cpu_online_mask) 516 for_each_cpu_and(i, cfg->old_domain, cpu_online_mask)
517 send_IPI_mask(cpumask_of(i), IRQ_MOVE_CLEANUP_VECTOR); 517 apic->send_IPI_mask(cpumask_of(i), IRQ_MOVE_CLEANUP_VECTOR);
518 } else { 518 } else {
519 cpumask_and(cleanup_mask, cfg->old_domain, cpu_online_mask); 519 cpumask_and(cleanup_mask, cfg->old_domain, cpu_online_mask);
520 cfg->move_cleanup_count = cpumask_weight(cleanup_mask); 520 cfg->move_cleanup_count = cpumask_weight(cleanup_mask);
521 send_IPI_mask(cleanup_mask, IRQ_MOVE_CLEANUP_VECTOR); 521 apic->send_IPI_mask(cleanup_mask, IRQ_MOVE_CLEANUP_VECTOR);
522 free_cpumask_var(cleanup_mask); 522 free_cpumask_var(cleanup_mask);
523 } 523 }
524 cfg->move_in_progress = 0; 524 cfg->move_in_progress = 0;
@@ -800,7 +800,7 @@ static void clear_IO_APIC (void)
800} 800}
801 801
802#if !defined(CONFIG_SMP) && defined(CONFIG_X86_32) 802#if !defined(CONFIG_SMP) && defined(CONFIG_X86_32)
803void send_IPI_self(int vector) 803void default_send_IPI_self(int vector)
804{ 804{
805 unsigned int cfg; 805 unsigned int cfg;
806 806
@@ -2297,7 +2297,7 @@ static int ioapic_retrigger_irq(unsigned int irq)
2297 unsigned long flags; 2297 unsigned long flags;
2298 2298
2299 spin_lock_irqsave(&vector_lock, flags); 2299 spin_lock_irqsave(&vector_lock, flags);
2300 send_IPI_mask(cpumask_of(cpumask_first(cfg->domain)), cfg->vector); 2300 apic->send_IPI_mask(cpumask_of(cpumask_first(cfg->domain)), cfg->vector);
2301 spin_unlock_irqrestore(&vector_lock, flags); 2301 spin_unlock_irqrestore(&vector_lock, flags);
2302 2302
2303 return 1; 2303 return 1;
@@ -2305,7 +2305,7 @@ static int ioapic_retrigger_irq(unsigned int irq)
2305#else 2305#else
2306static int ioapic_retrigger_irq(unsigned int irq) 2306static int ioapic_retrigger_irq(unsigned int irq)
2307{ 2307{
2308 send_IPI_self(irq_cfg(irq)->vector); 2308 apic->send_IPI_self(irq_cfg(irq)->vector);
2309 2309
2310 return 1; 2310 return 1;
2311} 2311}