x86: Get rid of get_nr_irqs_gsi()
authorThomas Gleixner <tglx@linutronix.de>
Wed, 7 May 2014 15:44:10 +0000 (15:44 +0000)
committerThomas Gleixner <tglx@linutronix.de>
Fri, 16 May 2014 12:05:19 +0000 (14:05 +0200)
No need to expose this outside of the ioapic code. The dynamic
allocations are guaranteed not to happen in the gsi space. See commit
62a08ae2a.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Grant Likely <grant.likely@linaro.org>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: x86@kernel.org
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: xen-devel@lists.xenproject.org
Link: http://lkml.kernel.org/r/20140507154335.959870037@linutronix.de
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/include/asm/io_apic.h
arch/x86/kernel/apic/io_apic.c
drivers/xen/events/events_base.c

index 459e50a..90f97b4 100644 (file)
@@ -168,8 +168,6 @@ extern int save_ioapic_entries(void);
 extern void mask_ioapic_entries(void);
 extern int restore_ioapic_entries(void);
 
-extern int get_nr_irqs_gsi(void);
-
 extern void setup_ioapic_ids_from_mpc(void);
 extern void setup_ioapic_ids_from_mpc_nocheck(void);
 
index 3c17b25..be3b574 100644 (file)
@@ -3450,11 +3450,6 @@ static void __init probe_nr_irqs_gsi(void)
        printk(KERN_DEBUG "nr_irqs_gsi: %d\n", nr_irqs_gsi);
 }
 
-int get_nr_irqs_gsi(void)
-{
-       return nr_irqs_gsi;
-}
-
 unsigned int arch_dynirq_lower_bound(unsigned int from)
 {
        return from < nr_irqs_gsi ? nr_irqs_gsi : from;
index dfa12a4..c919d3d 100644 (file)
@@ -390,22 +390,7 @@ static void xen_irq_init(unsigned irq)
 
 static int __must_check xen_allocate_irqs_dynamic(int nvec)
 {
-       int first = 0;
-       int i, irq;
-
-#ifdef CONFIG_X86_IO_APIC
-       /*
-        * For an HVM guest or domain 0 which see "real" (emulated or
-        * actual respectively) GSIs we allocate dynamic IRQs
-        * e.g. those corresponding to event channels or MSIs
-        * etc. from the range above those "real" GSIs to avoid
-        * collisions.
-        */
-       if (xen_initial_domain() || xen_hvm_domain())
-               first = get_nr_irqs_gsi();
-#endif
-
-       irq = irq_alloc_descs_from(first, nvec, -1);
+       int i, irq = irq_alloc_descs(-1, 0, nvec, -1);
 
        if (irq >= 0) {
                for (i = 0; i < nvec; i++)