diff --git a/arch/x86/pci/irq.c b/arch/x86/pci/irq.c index 8201165..ce4bd8a 100644 --- a/arch/x86/pci/irq.c +++ b/arch/x86/pci/irq.c @@ -527,14 +527,14 @@ static int pirq_pico_set(struct pci_dev *router, struct pci_dev *dev, int pirq, } #ifdef CONFIG_PCI_BIOS - static int pirq_bios_set(struct pci_dev *router, struct pci_dev *dev, int pirq, int irq) { struct pci_dev *bridge; int pin = pci_get_interrupt_pin(dev, &bridge); return pcibios_set_irq_routing(bridge, pin - 1, irq); } - +#else +static int pirq_bios_set(struct pci_dev *router, struct pci_dev *dev, int pirq, int irq) {} #endif static __init int intel_router_probe(struct irq_router *r, struct pci_dev *router, u16 device) @@ -821,14 +821,12 @@ static void __init pirq_find_router(struct irq_router *r) struct irq_routing_table *rt = pirq_table; struct irq_router_handler *h; -#ifdef CONFIG_PCI_BIOS - if (!rt->signature) { + if (config_is_pci_bios() && !rt->signature) { printk(KERN_INFO "PCI: Using BIOS for IRQ routing\n"); r->set = pirq_bios_set; r->name = "BIOS"; return; } -#endif /* Default unless a driver reloads it */ r->name = "default"; @@ -1126,10 +1124,10 @@ void __init pcibios_irq_init(void) pirq_table = pirq_find_routing_table(); -#ifdef CONFIG_PCI_BIOS - if (!pirq_table && (pci_probe & PCI_BIOS_IRQ_SCAN)) + if (config_is_pci_bios() && + (!pirq_table && (pci_probe & PCI_BIOS_IRQ_SCAN))) pirq_table = pcibios_get_irq_routing_table(); -#endif + if (pirq_table) { pirq_peer_trick(); pirq_find_router(&pirq_router); @@ -1178,11 +1176,9 @@ static void pirq_penalize_isa_irq(int irq, int active) void pcibios_penalize_isa_irq(int irq, int active) { -#ifdef CONFIG_ACPI - if (!acpi_noirq) + if (config_is_pci_bios() && !acpi_noirq) acpi_penalize_isa_irq(irq, active); else -#endif pirq_penalize_isa_irq(irq, active); } @@ -1197,8 +1193,7 @@ static int pirq_enable_irq(struct pci_dev *dev) if (!io_apic_assign_pci_irqs && dev->irq) return 0; - if (io_apic_assign_pci_irqs) { -#ifdef CONFIG_X86_IO_APIC + if (config_is_x86_io_apic() && io_apic_assign_pci_irqs) { struct pci_dev *temp_dev; int irq; struct io_apic_irq_attr irq_attr; @@ -1237,7 +1232,6 @@ static int pirq_enable_irq(struct pci_dev *dev) return 0; } else msg = "; probably buggy MP table"; -#endif } else if (pci_probe & PCI_BIOS_IRQ_SCAN) msg = ""; else