Commit 8f18c971 authored by Suresh Siddha's avatar Suresh Siddha Committed by Ingo Molnar

x86, ioapic: Consolidate mp_ioapic_routing[] into 'struct ioapic'

Signed-off-by: default avatarSuresh Siddha <suresh.b.siddha@intel.com>
Cc: daniel.blueman@gmail.com
Link: http://lkml.kernel.org/r/20110518233158.089978277@sbsiddha-MOBL3.sc.intel.comSigned-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent c040aaeb
...@@ -89,6 +89,7 @@ static struct ioapic { ...@@ -89,6 +89,7 @@ static struct ioapic {
struct mpc_ioapic mp_config; struct mpc_ioapic mp_config;
/* IO APIC gsi routing info */ /* IO APIC gsi routing info */
struct mp_ioapic_gsi gsi_config; struct mp_ioapic_gsi gsi_config;
DECLARE_BITMAP(pin_programmed, MP_MAX_IOAPIC_PIN + 1);
} ioapics[MAX_IO_APICS]; } ioapics[MAX_IO_APICS];
#define mpc_ioapic_ver(id) ioapics[id].mp_config.apicver #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, ...@@ -1356,10 +1357,6 @@ static void setup_ioapic_irq(int apic_id, int pin, unsigned int irq,
ioapic_write_entry(apic_id, pin, entry); 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) static bool __init io_apic_pin_not_connected(int idx, int apic_id, int pin)
{ {
if (idx != -1) if (idx != -1)
...@@ -3540,14 +3537,14 @@ int io_apic_setup_irq_pin_once(unsigned int irq, int node, ...@@ -3540,14 +3537,14 @@ int io_apic_setup_irq_pin_once(unsigned int irq, int node,
int ret; int ret;
/* Avoid redundant programming */ /* 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", pr_debug("Pin %d-%d already programmed\n",
mpc_ioapic_id(id), pin); mpc_ioapic_id(id), pin);
return 0; return 0;
} }
ret = io_apic_setup_irq_pin(irq, node, attr); ret = io_apic_setup_irq_pin(irq, node, attr);
if (!ret) if (!ret)
set_bit(pin, mp_ioapic_routing[id].pin_programmed); set_bit(pin, ioapics[id].pin_programmed);
return ret; return ret;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment