linux/x86: cleanup IO-APIC code
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.
Signed-off-by Jan Beulich <[email protected]>
arch/i386/kernel/io_apic-xen.c +12 -2
@@ -87,8 +87,10 @@ static inline void xen_io_apic_write(unsint (*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, intreturn -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(vlate_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_devistatic 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(voiddevice_initcall (ioapic_init_sysfs); +#endif /* CONFIG_XEN */ +/* -------------------------------------------------------------------------- ACPI-based IOAPIC Configuration -------------------------------------------------------------------------- */
arch/x86_64/kernel/io_apic-xen.c +4 -2
@@ -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_devistatic 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(voiddevice_initcall (ioapic_init_sysfs); +#endif /* CONFIG_XEN */ +/* -------------------------------------------------------------------------- ACPI-based IOAPIC Configuration -------------------------------------------------------------------------- */