aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiang Liu <jiang.liu@linux.intel.com>2015-04-13 22:30:01 -0400
committerThomas Gleixner <tglx@linutronix.de>2015-04-24 09:36:54 -0400
commit68f9f4404d74f859dc84973db8731b41a51d929a (patch)
treea25f58020e0a8b9d997affe7ef6fd6fb144094a6
parentf970510cc55e41d21ca30feb56873aaeb57ec18d (diff)
x86/irq: Remove function apic_set_affinity()
Now there's no user of apic_set_affinity(), so remove it. Also rename vector_set_affinity() to apic_set_affinity() for consistency. Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com> Tested-by: Joerg Roedel <jroedel@suse.de> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Cc: David Cohen <david.a.cohen@linux.intel.com> Cc: Sander Eikelenboom <linux@eikelenboom.it> Cc: David Vrabel <david.vrabel@citrix.com> Cc: Tony Luck <tony.luck@intel.com> Cc: Joerg Roedel <joro@8bytes.org> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Bjorn Helgaas <bhelgaas@google.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Rafael J. Wysocki <rjw@rjwysocki.net> Cc: Randy Dunlap <rdunlap@infradead.org> Cc: Yinghai Lu <yinghai@kernel.org> Cc: Borislav Petkov <bp@alien8.de> Cc: Dimitri Sivanich <sivanich@sgi.com> Link: http://lkml.kernel.org/r/1428978610-28986-25-git-send-email-jiang.liu@linux.intel.com Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r--arch/x86/include/asm/hw_irq.h2
-rw-r--r--arch/x86/kernel/apic/vector.c40
2 files changed, 3 insertions, 39 deletions
diff --git a/arch/x86/include/asm/hw_irq.h b/arch/x86/include/asm/hw_irq.h
index 9a797682fef5..727c62378a65 100644
--- a/arch/x86/include/asm/hw_irq.h
+++ b/arch/x86/include/asm/hw_irq.h
@@ -198,8 +198,6 @@ static inline void irq_complete_move(struct irq_cfg *c) { }
198#endif 198#endif
199 199
200extern void apic_ack_edge(struct irq_data *data); 200extern void apic_ack_edge(struct irq_data *data);
201extern int apic_set_affinity(struct irq_data *data, const struct cpumask *mask,
202 unsigned int *dest_id);
203#else /* CONFIG_X86_LOCAL_APIC */ 201#else /* CONFIG_X86_LOCAL_APIC */
204static inline void lock_vector_lock(void) {} 202static inline void lock_vector_lock(void) {}
205static inline void unlock_vector_lock(void) {} 203static inline void unlock_vector_lock(void) {}
diff --git a/arch/x86/kernel/apic/vector.c b/arch/x86/kernel/apic/vector.c
index d52af4d805db..1aea62d60cf2 100644
--- a/arch/x86/kernel/apic/vector.c
+++ b/arch/x86/kernel/apic/vector.c
@@ -463,42 +463,8 @@ void apic_ack_edge(struct irq_data *data)
463 ack_APIC_irq(); 463 ack_APIC_irq();
464} 464}
465 465
466/* 466static int apic_set_affinity(struct irq_data *irq_data,
467 * Either sets data->affinity to a valid value, and returns 467 const struct cpumask *dest, bool force)
468 * ->cpu_mask_to_apicid of that in dest_id, or returns -1 and
469 * leaves data->affinity untouched.
470 */
471int apic_set_affinity(struct irq_data *data, const struct cpumask *mask,
472 unsigned int *dest_id)
473{
474 struct irq_cfg *cfg = irqd_cfg(data);
475 unsigned int irq = data->irq;
476 int err;
477
478 if (!config_enabled(CONFIG_SMP))
479 return -EPERM;
480
481 if (!cpumask_intersects(mask, cpu_online_mask))
482 return -EINVAL;
483
484 err = assign_irq_vector(irq, cfg, mask);
485 if (err)
486 return err;
487
488 err = apic->cpu_mask_to_apicid_and(mask, cfg->domain, dest_id);
489 if (err) {
490 if (assign_irq_vector(irq, cfg, data->affinity))
491 pr_err("Failed to recover vector for irq %d\n", irq);
492 return err;
493 }
494
495 cpumask_copy(data->affinity, mask);
496
497 return 0;
498}
499
500static int vector_set_affinity(struct irq_data *irq_data,
501 const struct cpumask *dest, bool force)
502{ 468{
503 struct irq_cfg *cfg = irq_data->chip_data; 469 struct irq_cfg *cfg = irq_data->chip_data;
504 int err, irq = irq_data->irq; 470 int err, irq = irq_data->irq;
@@ -523,7 +489,7 @@ static int vector_set_affinity(struct irq_data *irq_data,
523 489
524static struct irq_chip lapic_controller = { 490static struct irq_chip lapic_controller = {
525 .irq_ack = apic_ack_edge, 491 .irq_ack = apic_ack_edge,
526 .irq_set_affinity = vector_set_affinity, 492 .irq_set_affinity = apic_set_affinity,
527 .irq_retrigger = apic_retrigger_irq, 493 .irq_retrigger = apic_retrigger_irq,
528}; 494};
529 495