Skip to contentSkip to conversation

linux/x86: cleanup IO-APIC code

PATCH New Jan Beulich 1 participant 1 message Nov 28, 2008

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 linux/x86: cleanup IO-APIC code

- get 32-bit code in sync with 64-bit wrt ExtINT pin detection being unnecessary
- eliminate build warnings resulting from c/s 725

As usual, written and tested on 2.6.27.7 and made apply to the 2.6.18 tree without further testing.

arch/i386/kernel/io_apic-xen.c +12 -2
Index: head-2008-11-25/arch/i386/kernel/io_apic-xen.c
===================================================================
@@ -87,8 +87,10 @@ static inline void xen_io_apic_write(uns
 int (*ioapic_renumber_irq)(int ioapic, int irq);
 atomic_t irq_mis_count;
 
+#ifndef CONFIG_XEN
 /* Where if anywhere is the i8259 connect in external int mode */
 static struct { int pin, apic; } ioapic_i8259 = { -1, -1 };
+#endif
 
 static DEFINE_SPINLOCK(ioapic_lock);
 static DEFINE_SPINLOCK(vector_lock);
@@ -793,6 +795,7 @@ static int find_irq_entry(int apic, int 
 	return -1;
 }
 
+#ifndef CONFIG_XEN
 /*
  * Find the pin to which IRQ[irq] (ISA) is connected
  */
@@ -842,6 +845,7 @@ static int __init find_isa_irq_apic(int 
 
 	return -1;
 }
+#endif
 
 /*
  * Find a specific PCI IRQ entry.
@@ -1687,7 +1691,9 @@ void /*__init*/ print_PIC(void)
 static void __init enable_IO_APIC(void)
 {
 	union IO_APIC_reg_01 reg_01;
+#ifndef CONFIG_XEN
 	int i8259_apic, i8259_pin;
+#endif
 	int i, apic;
 	unsigned long flags;
 
@@ -1708,6 +1714,7 @@ static void __init enable_IO_APIC(void)
 		spin_unlock_irqrestore(&ioapic_lock, flags);
 		nr_ioapic_registers[apic] = reg_01.bits.entries+1;
 	}
+#ifndef CONFIG_XEN
 	for(apic = 0; apic < nr_ioapics; apic++) {
 		int pin;
 		/* See if any of the pins is in ExtINT mode */
@@ -1749,6 +1756,7 @@ static void __init enable_IO_APIC(void)
 	{
 		printk(KERN_WARNING "ExtINT in hardware and MP table differ\n");
 	}
+#endif
 
 	/*
 	 * Do not trust the IO-APIC being empty at bootup
@@ -2517,6 +2525,8 @@ static int __init io_apic_bug_finalize(v
 
 late_initcall(io_apic_bug_finalize);
 
+#ifndef CONFIG_XEN
+
 struct sysfs_ioapic_data {
 	struct sys_device dev;
 	struct IO_APIC_route_entry entry[0];
@@ -2570,10 +2580,8 @@ static int ioapic_resume(struct sys_devi
 
 static struct sysdev_class ioapic_sysdev_class = {
 	set_kset_name("ioapic"),
-#ifndef CONFIG_XEN
 	.suspend = ioapic_suspend,
 	.resume = ioapic_resume,
-#endif
 };
 
 static int __init ioapic_init_sysfs(void)
@@ -2611,6 +2619,8 @@ static int __init ioapic_init_sysfs(void
 
 device_initcall(ioapic_init_sysfs);
 
+#endif /* CONFIG_XEN */
+
 /* --------------------------------------------------------------------------
                           ACPI-based IOAPIC Configuration
    -------------------------------------------------------------------------- */
arch/x86_64/kernel/io_apic-xen.c +4 -2
Index: head-2008-11-25/arch/x86_64/kernel/io_apic-xen.c
===================================================================
@@ -2054,6 +2054,8 @@ void __init setup_IO_APIC(void)
 		print_IO_APIC();
 }
 
+#ifndef CONFIG_XEN
+
 struct sysfs_ioapic_data {
 	struct sys_device dev;
 	struct IO_APIC_route_entry entry[0];
@@ -2107,10 +2109,8 @@ static int ioapic_resume(struct sys_devi
 
 static struct sysdev_class ioapic_sysdev_class = {
 	set_kset_name("ioapic"),
-#ifndef CONFIG_XEN
 	.suspend = ioapic_suspend,
 	.resume = ioapic_resume,
-#endif
 };
 
 static int __init ioapic_init_sysfs(void)
@@ -2148,6 +2148,8 @@ static int __init ioapic_init_sysfs(void
 
 device_initcall(ioapic_init_sysfs);
 
+#endif /* CONFIG_XEN */
+
 /* --------------------------------------------------------------------------
                           ACPI-based IOAPIC Configuration
    -------------------------------------------------------------------------- */