aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiang Liu <jiang.liu@linux.intel.com>2015-04-13 22:29:44 -0400
committerThomas Gleixner <tglx@linutronix.de>2015-04-24 09:36:52 -0400
commitbaac16952635445addaf397bad74e847db821d6d (patch)
tree9f8828c6cd6e74ac04b147138e9ee2f69e76367c
parentad66e1efc95e548598b032c1fe5bbc34f6460547 (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/Kconfig1
-rw-r--r--arch/x86/kernel/apic/vector.c34
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
912config X86_LOCAL_APIC 912config 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 */
665int 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
686void 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
696static void __init print_APIC_field(int base) 662static void __init print_APIC_field(int base)
697{ 663{
698 int i; 664 int i;