x86, ioapic: Consolidate mp_ioapic_routing[] into 'struct ioapic'
authorSuresh Siddha <suresh.b.siddha@intel.com>
Wed, 18 May 2011 23:31:39 +0000 (16:31 -0700)
committerIngo Molnar <mingo@elte.hu>
Fri, 20 May 2011 11:41:02 +0000 (13:41 +0200)
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Cc: daniel.blueman@gmail.com
Link: http://lkml.kernel.org/r/20110518233158.089978277@sbsiddha-MOBL3.sc.intel.com
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/apic/io_apic.c

index b7dd2338502d2f5d55bfcbde9a1209b33efbce06..9488dcff7aec8261b994076cdd59638da5097f73 100644 (file)
@@ -89,6 +89,7 @@ static struct ioapic {
        struct mpc_ioapic mp_config;
        /* IO APIC gsi routing info */
        struct mp_ioapic_gsi  gsi_config;
+       DECLARE_BITMAP(pin_programmed, MP_MAX_IOAPIC_PIN + 1);
 } ioapics[MAX_IO_APICS];
 
 #define mpc_ioapic_ver(id)             ioapics[id].mp_config.apicver
@@ -1356,10 +1357,6 @@ static void setup_ioapic_irq(int apic_id, int pin, unsigned int irq,
        ioapic_write_entry(apic_id, pin, entry);
 }
 
-static struct {
-       DECLARE_BITMAP(pin_programmed, MP_MAX_IOAPIC_PIN + 1);
-} mp_ioapic_routing[MAX_IO_APICS];
-
 static bool __init io_apic_pin_not_connected(int idx, int apic_id, int pin)
 {
        if (idx != -1)
@@ -3540,14 +3537,14 @@ int io_apic_setup_irq_pin_once(unsigned int irq, int node,
        int ret;
 
        /* Avoid redundant programming */
-       if (test_bit(pin, mp_ioapic_routing[id].pin_programmed)) {
+       if (test_bit(pin, ioapics[id].pin_programmed)) {
                pr_debug("Pin %d-%d already programmed\n",
                         mpc_ioapic_id(id), pin);
                return 0;
        }
        ret = io_apic_setup_irq_pin(irq, node, attr);
        if (!ret)
-               set_bit(pin, mp_ioapic_routing[id].pin_programmed);
+               set_bit(pin, ioapics[id].pin_programmed);
        return ret;
 }