aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/frv/mb93090-mb00/pci-irq.c2
-rw-r--r--arch/i386/pci/irq.c16
-rw-r--r--arch/i386/pci/visws.c2
3 files changed, 12 insertions, 8 deletions
diff --git a/arch/frv/mb93090-mb00/pci-irq.c b/arch/frv/mb93090-mb00/pci-irq.c
index 24622d89b1ca..af981bda015c 100644
--- a/arch/frv/mb93090-mb00/pci-irq.c
+++ b/arch/frv/mb93090-mb00/pci-irq.c
@@ -60,7 +60,7 @@ void __init pcibios_fixup_irqs(void)
60 } 60 }
61} 61}
62 62
63void __init pcibios_penalize_isa_irq(int irq) 63void __init pcibios_penalize_isa_irq(int irq, int active)
64{ 64{
65} 65}
66 66
diff --git a/arch/i386/pci/irq.c b/arch/i386/pci/irq.c
index da21b1d07c15..d21b3a2dc978 100644
--- a/arch/i386/pci/irq.c
+++ b/arch/i386/pci/irq.c
@@ -1006,24 +1006,28 @@ static int __init pcibios_irq_init(void)
1006subsys_initcall(pcibios_irq_init); 1006subsys_initcall(pcibios_irq_init);
1007 1007
1008 1008
1009static void pirq_penalize_isa_irq(int irq) 1009static void pirq_penalize_isa_irq(int irq, int active)
1010{ 1010{
1011 /* 1011 /*
1012 * If any ISAPnP device reports an IRQ in its list of possible 1012 * If any ISAPnP device reports an IRQ in its list of possible
1013 * IRQ's, we try to avoid assigning it to PCI devices. 1013 * IRQ's, we try to avoid assigning it to PCI devices.
1014 */ 1014 */
1015 if (irq < 16) 1015 if (irq < 16) {
1016 pirq_penalty[irq] += 100; 1016 if (active)
1017 pirq_penalty[irq] += 1000;
1018 else
1019 pirq_penalty[irq] += 100;
1020 }
1017} 1021}
1018 1022
1019void pcibios_penalize_isa_irq(int irq) 1023void pcibios_penalize_isa_irq(int irq, int active)
1020{ 1024{
1021#ifdef CONFIG_ACPI_PCI 1025#ifdef CONFIG_ACPI_PCI
1022 if (!acpi_noirq) 1026 if (!acpi_noirq)
1023 acpi_penalize_isa_irq(irq); 1027 acpi_penalize_isa_irq(irq, active);
1024 else 1028 else
1025#endif 1029#endif
1026 pirq_penalize_isa_irq(irq); 1030 pirq_penalize_isa_irq(irq, active);
1027} 1031}
1028 1032
1029static int pirq_enable_irq(struct pci_dev *dev) 1033static int pirq_enable_irq(struct pci_dev *dev)
diff --git a/arch/i386/pci/visws.c b/arch/i386/pci/visws.c
index 6a9248784439..314c933b6b8e 100644
--- a/arch/i386/pci/visws.c
+++ b/arch/i386/pci/visws.c
@@ -21,7 +21,7 @@ static int pci_visws_enable_irq(struct pci_dev *dev) { return 0; }
21 21
22int (*pcibios_enable_irq)(struct pci_dev *dev) = &pci_visws_enable_irq; 22int (*pcibios_enable_irq)(struct pci_dev *dev) = &pci_visws_enable_irq;
23 23
24void __init pcibios_penalize_isa_irq(int irq) {} 24void __init pcibios_penalize_isa_irq(int irq, int active) {}
25 25
26 26
27unsigned int pci_bus0, pci_bus1; 27unsigned int pci_bus0, pci_bus1;