diff options
author | Jiang Liu <jiang.liu@linux.intel.com> | 2015-04-13 22:29:44 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2015-04-24 09:36:52 -0400 |
commit | baac16952635445addaf397bad74e847db821d6d (patch) | |
tree | 9f8828c6cd6e74ac04b147138e9ee2f69e76367c | |
parent | ad66e1efc95e548598b032c1fe5bbc34f6460547 (diff) |
x86/irq: Remove GENERIC_IRQ_LEGACY_ALLOC_HWIRQ
There's no user of irq_alloc_hwirqs(), irq_alloc_hwirq(),
irq_free_hwirqs() and irq_free_hwirq() in x86 anymore, so remove
GENERIC_IRQ_LEGACY_ALLOC_HWIRQ and related code.
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
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-8-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r-- | arch/x86/Kconfig | 1 | ||||
-rw-r--r-- | arch/x86/kernel/apic/vector.c | 34 |
2 files changed, 0 insertions, 35 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 26e066579637..c86fdc13615f 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
@@ -912,7 +912,6 @@ config X86_UP_IOAPIC | |||
912 | config X86_LOCAL_APIC | 912 | config X86_LOCAL_APIC |
913 | def_bool y | 913 | def_bool y |
914 | depends on X86_64 || SMP || X86_32_NON_STANDARD || X86_UP_APIC || PCI_MSI | 914 | depends on X86_64 || SMP || X86_32_NON_STANDARD || X86_UP_APIC || PCI_MSI |
915 | select GENERIC_IRQ_LEGACY_ALLOC_HWIRQ | ||
916 | select IRQ_DOMAIN_HIERARCHY | 915 | select IRQ_DOMAIN_HIERARCHY |
917 | select PCI_MSI_IRQ_DOMAIN if PCI_MSI | 916 | select PCI_MSI_IRQ_DOMAIN if PCI_MSI |
918 | 917 | ||
diff --git a/arch/x86/kernel/apic/vector.c b/arch/x86/kernel/apic/vector.c index 633f03268d48..d0e5ea0fb947 100644 --- a/arch/x86/kernel/apic/vector.c +++ b/arch/x86/kernel/apic/vector.c | |||
@@ -659,40 +659,6 @@ void irq_force_complete_move(int irq) | |||
659 | } | 659 | } |
660 | #endif | 660 | #endif |
661 | 661 | ||
662 | /* | ||
663 | * Dynamic irq allocate and deallocation. Should be replaced by irq domains! | ||
664 | */ | ||
665 | int arch_setup_hwirq(unsigned int irq, int node) | ||
666 | { | ||
667 | struct irq_cfg *cfg; | ||
668 | unsigned long flags; | ||
669 | int ret; | ||
670 | |||
671 | cfg = alloc_irq_cfg(node); | ||
672 | if (!cfg) | ||
673 | return -ENOMEM; | ||
674 | |||
675 | raw_spin_lock_irqsave(&vector_lock, flags); | ||
676 | ret = __assign_irq_vector(irq, cfg, apic->target_cpus()); | ||
677 | raw_spin_unlock_irqrestore(&vector_lock, flags); | ||
678 | |||
679 | if (!ret) | ||
680 | irq_set_chip_data(irq, cfg); | ||
681 | else | ||
682 | free_irq_cfg(cfg); | ||
683 | return ret; | ||
684 | } | ||
685 | |||
686 | void arch_teardown_hwirq(unsigned int irq) | ||
687 | { | ||
688 | struct irq_cfg *cfg = irq_cfg(irq); | ||
689 | |||
690 | free_remapped_irq(irq); | ||
691 | clear_irq_vector(irq, cfg); | ||
692 | irq_set_chip_data(irq, NULL); | ||
693 | free_irq_cfg(cfg); | ||
694 | } | ||
695 | |||
696 | static void __init print_APIC_field(int base) | 662 | static void __init print_APIC_field(int base) |
697 | { | 663 | { |
698 | int i; | 664 | int i; |