Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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

parent c040aaeb
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -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;
}