diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-01-28 09:42:24 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-01-28 17:20:31 -0500 |
commit | dac5f4121df3c39fdb2ea57acd669a0ae19e46f8 (patch) | |
tree | c3dde8b525b1a8e73732bdffdb7e819f4a14fd3a /arch/x86/kernel/io_apic.c | |
parent | debccb3e77be52cfc26c5a99e123c114c5c72aeb (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.c | 10 |
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) |
803 | void send_IPI_self(int vector) | 803 | void 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 |
2306 | static int ioapic_retrigger_irq(unsigned int irq) | 2306 | static 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 | } |