diff options
author | Jiang Liu <jiang.liu@linux.intel.com> | 2015-04-13 22:30:01 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2015-04-24 09:36:54 -0400 |
commit | 68f9f4404d74f859dc84973db8731b41a51d929a (patch) | |
tree | a25f58020e0a8b9d997affe7ef6fd6fb144094a6 | |
parent | f970510cc55e41d21ca30feb56873aaeb57ec18d (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.h | 2 | ||||
-rw-r--r-- | arch/x86/kernel/apic/vector.c | 40 |
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 | ||
200 | extern void apic_ack_edge(struct irq_data *data); | 200 | extern void apic_ack_edge(struct irq_data *data); |
201 | extern 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 */ |
204 | static inline void lock_vector_lock(void) {} | 202 | static inline void lock_vector_lock(void) {} |
205 | static inline void unlock_vector_lock(void) {} | 203 | static 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 | /* | 466 | static 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 | */ | ||
471 | int 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 | |||
500 | static 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 | ||
524 | static struct irq_chip lapic_controller = { | 490 | static 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 | ||