From: Bjorn Helgaas As Matthew noted, there's no reason a machine ACPI needs to have PCI. This just makes acpi_register_gsi()and acpi_gsi_to_irq() available independent of CONFIG_PCI. Signed-off-by: Andrew Morton --- 25-akpm/arch/i386/kernel/acpi/boot.c | 9 +++++---- 25-akpm/include/linux/acpi.h | 4 ++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff -puN arch/i386/kernel/acpi/boot.c~let-serial_8250_acpi-depend-on-acpi_pci-2 arch/i386/kernel/acpi/boot.c --- 25/arch/i386/kernel/acpi/boot.c~let-serial_8250_acpi-depend-on-acpi_pci-2 Wed Jun 2 15:02:20 2004 +++ 25-akpm/arch/i386/kernel/acpi/boot.c Wed Jun 2 15:02:20 2004 @@ -437,23 +437,25 @@ int acpi_gsi_to_irq(u32 gsi, unsigned in return 0; } -#ifdef CONFIG_ACPI_PCI unsigned int acpi_register_gsi(u32 gsi, int edge_level, int active_high_low) { - static u16 irq_mask; unsigned int irq; - extern void eisa_set_level_irq(unsigned int irq); +#ifdef CONFIG_PCI /* * Make sure all (legacy) PCI IRQs are set as level-triggered. */ if (acpi_irq_model == ACPI_IRQ_MODEL_PIC) { + static u16 irq_mask; + extern void eisa_set_level_irq(unsigned int irq); + if ((gsi < 16) && !((1 << gsi) & irq_mask)) { Dprintk(KERN_DEBUG PREFIX "Setting GSI %u as level-triggered\n", gsi); irq_mask |= (1 << gsi); eisa_set_level_irq(gsi); } } +#endif #ifdef CONFIG_X86_IO_APIC if (acpi_irq_model == ACPI_IRQ_MODEL_IOAPIC) { @@ -463,7 +465,6 @@ unsigned int acpi_register_gsi(u32 gsi, acpi_gsi_to_irq(gsi, &irq); return irq; } -#endif /* CONFIG_ACPI_PCI */ static unsigned long __init acpi_scan_rsdp ( diff -puN include/linux/acpi.h~let-serial_8250_acpi-depend-on-acpi_pci-2 include/linux/acpi.h --- 25/include/linux/acpi.h~let-serial_8250_acpi-depend-on-acpi_pci-2 Wed Jun 2 15:02:20 2004 +++ 25-akpm/include/linux/acpi.h Wed Jun 2 15:02:20 2004 @@ -413,6 +413,8 @@ static inline int acpi_boot_init(void) #endif /*!CONFIG_ACPI_BOOT*/ +unsigned int acpi_register_gsi (u32 gsi, int edge_level, int active_high_low); +int acpi_gsi_to_irq (u32 gsi, unsigned int *irq); #ifdef CONFIG_ACPI_PCI @@ -437,8 +439,6 @@ extern struct acpi_prt_list acpi_prt; struct pci_dev; int acpi_pci_irq_enable (struct pci_dev *dev); -unsigned int acpi_register_gsi (u32 gsi, int edge_level, int active_high_low); -int acpi_gsi_to_irq (u32 gsi, unsigned int *irq); struct acpi_pci_driver { struct acpi_pci_driver *next; _