diff options
Diffstat (limited to 'arch/x86/pci/irq.c')
-rw-r--r-- | arch/x86/pci/irq.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/arch/x86/pci/irq.c b/arch/x86/pci/irq.c index b02f6d8ac922..8b107521d24e 100644 --- a/arch/x86/pci/irq.c +++ b/arch/x86/pci/irq.c | |||
@@ -53,7 +53,7 @@ struct irq_router_handler { | |||
53 | int (*probe)(struct irq_router *r, struct pci_dev *router, u16 device); | 53 | int (*probe)(struct irq_router *r, struct pci_dev *router, u16 device); |
54 | }; | 54 | }; |
55 | 55 | ||
56 | int (*pcibios_enable_irq)(struct pci_dev *dev) = NULL; | 56 | int (*pcibios_enable_irq)(struct pci_dev *dev) = pirq_enable_irq; |
57 | void (*pcibios_disable_irq)(struct pci_dev *dev) = NULL; | 57 | void (*pcibios_disable_irq)(struct pci_dev *dev) = NULL; |
58 | 58 | ||
59 | /* | 59 | /* |
@@ -1018,7 +1018,7 @@ static int pcibios_lookup_irq(struct pci_dev *dev, int assign) | |||
1018 | return 1; | 1018 | return 1; |
1019 | } | 1019 | } |
1020 | 1020 | ||
1021 | static void __init pcibios_fixup_irqs(void) | 1021 | void __init pcibios_fixup_irqs(void) |
1022 | { | 1022 | { |
1023 | struct pci_dev *dev = NULL; | 1023 | struct pci_dev *dev = NULL; |
1024 | u8 pin; | 1024 | u8 pin; |
@@ -1112,12 +1112,12 @@ static struct dmi_system_id __initdata pciirq_dmi_table[] = { | |||
1112 | { } | 1112 | { } |
1113 | }; | 1113 | }; |
1114 | 1114 | ||
1115 | int __init pcibios_irq_init(void) | 1115 | void __init pcibios_irq_init(void) |
1116 | { | 1116 | { |
1117 | DBG(KERN_DEBUG "PCI: IRQ init\n"); | 1117 | DBG(KERN_DEBUG "PCI: IRQ init\n"); |
1118 | 1118 | ||
1119 | if (pcibios_enable_irq || raw_pci_ops == NULL) | 1119 | if (raw_pci_ops == NULL) |
1120 | return 0; | 1120 | return; |
1121 | 1121 | ||
1122 | dmi_check_system(pciirq_dmi_table); | 1122 | dmi_check_system(pciirq_dmi_table); |
1123 | 1123 | ||
@@ -1144,9 +1144,7 @@ int __init pcibios_irq_init(void) | |||
1144 | pirq_table = NULL; | 1144 | pirq_table = NULL; |
1145 | } | 1145 | } |
1146 | 1146 | ||
1147 | pcibios_enable_irq = pirq_enable_irq; | 1147 | x86_init.pci.fixup_irqs(); |
1148 | |||
1149 | pcibios_fixup_irqs(); | ||
1150 | 1148 | ||
1151 | if (io_apic_assign_pci_irqs && pci_routeirq) { | 1149 | if (io_apic_assign_pci_irqs && pci_routeirq) { |
1152 | struct pci_dev *dev = NULL; | 1150 | struct pci_dev *dev = NULL; |
@@ -1159,8 +1157,6 @@ int __init pcibios_irq_init(void) | |||
1159 | for_each_pci_dev(dev) | 1157 | for_each_pci_dev(dev) |
1160 | pirq_enable_irq(dev); | 1158 | pirq_enable_irq(dev); |
1161 | } | 1159 | } |
1162 | |||
1163 | return 0; | ||
1164 | } | 1160 | } |
1165 | 1161 | ||
1166 | static void pirq_penalize_isa_irq(int irq, int active) | 1162 | static void pirq_penalize_isa_irq(int irq, int active) |