aboutsummaryrefslogtreecommitdiffstats
path: root/arch/i386/pci
diff options
context:
space:
mode:
Diffstat (limited to 'arch/i386/pci')
-rw-r--r--arch/i386/pci/acpi.c1
-rw-r--r--arch/i386/pci/common.c6
-rw-r--r--arch/i386/pci/irq.c1
-rw-r--r--arch/i386/pci/pci.h1
4 files changed, 9 insertions, 0 deletions
diff --git a/arch/i386/pci/acpi.c b/arch/i386/pci/acpi.c
index 2db65ec45dc3..42913f43feb0 100644
--- a/arch/i386/pci/acpi.c
+++ b/arch/i386/pci/acpi.c
@@ -30,6 +30,7 @@ static int __init pci_acpi_init(void)
30 acpi_irq_penalty_init(); 30 acpi_irq_penalty_init();
31 pcibios_scanned++; 31 pcibios_scanned++;
32 pcibios_enable_irq = acpi_pci_irq_enable; 32 pcibios_enable_irq = acpi_pci_irq_enable;
33 pcibios_disable_irq = acpi_pci_irq_disable;
33 34
34 if (pci_routeirq) { 35 if (pci_routeirq) {
35 /* 36 /*
diff --git a/arch/i386/pci/common.c b/arch/i386/pci/common.c
index 720975e1af50..751e49bda180 100644
--- a/arch/i386/pci/common.c
+++ b/arch/i386/pci/common.c
@@ -249,3 +249,9 @@ int pcibios_enable_device(struct pci_dev *dev, int mask)
249 249
250 return pcibios_enable_irq(dev); 250 return pcibios_enable_irq(dev);
251} 251}
252
253void pcibios_disable_device (struct pci_dev *dev)
254{
255 if (pcibios_disable_irq)
256 pcibios_disable_irq(dev);
257}
diff --git a/arch/i386/pci/irq.c b/arch/i386/pci/irq.c
index d21b3a2dc978..66e4149ef189 100644
--- a/arch/i386/pci/irq.c
+++ b/arch/i386/pci/irq.c
@@ -56,6 +56,7 @@ struct irq_router_handler {
56}; 56};
57 57
58int (*pcibios_enable_irq)(struct pci_dev *dev) = NULL; 58int (*pcibios_enable_irq)(struct pci_dev *dev) = NULL;
59void (*pcibios_disable_irq)(struct pci_dev *dev) = NULL;
59 60
60/* 61/*
61 * Search 0xf0000 -- 0xfffff for the PCI IRQ Routing Table. 62 * Search 0xf0000 -- 0xfffff for the PCI IRQ Routing Table.
diff --git a/arch/i386/pci/pci.h b/arch/i386/pci/pci.h
index a8fc80ca69f3..dc442dfcab9e 100644
--- a/arch/i386/pci/pci.h
+++ b/arch/i386/pci/pci.h
@@ -72,3 +72,4 @@ extern int pcibios_scanned;
72extern spinlock_t pci_config_lock; 72extern spinlock_t pci_config_lock;
73 73
74extern int (*pcibios_enable_irq)(struct pci_dev *dev); 74extern int (*pcibios_enable_irq)(struct pci_dev *dev);
75extern void (*pcibios_disable_irq)(struct pci_dev *dev);