summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/pci-common.c
diff options
context:
space:
mode:
authorMichael Neuling2015-05-27 08:07:00 +0200
committerMichael Ellerman2015-06-03 05:27:16 +0200
commitabeeed6d3d9948b3235a5bb77759d8c1f84de39d (patch)
tree6ebad5a03926155f09f58d7620ffafcd1da2bd06 /arch/powerpc/kernel/pci-common.c
parentpowerpc/pci: Add shutdown hook to pci_controller_ops (diff)
downloadkernel-qcow2-linux-abeeed6d3d9948b3235a5bb77759d8c1f84de39d.tar.gz
kernel-qcow2-linux-abeeed6d3d9948b3235a5bb77759d8c1f84de39d.tar.xz
kernel-qcow2-linux-abeeed6d3d9948b3235a5bb77759d8c1f84de39d.zip
powerpc/pci: Add pcibios_disable_device() hook
This adds a hook into the powerpc pci code for pci_disable_device() calls. The generic code already provides a weak pcibios_disable_device() symbol, so we just need to provide our own in powerpc and it'll get picked up. This is passed directly to the phb controller ops, provided one exists. Signed-off-by: Michael Neuling <mikey@neuling.org> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/kernel/pci-common.c')
-rw-r--r--arch/powerpc/kernel/pci-common.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c
index 2040cd2f7358..b9de34d44fcb 100644
--- a/arch/powerpc/kernel/pci-common.c
+++ b/arch/powerpc/kernel/pci-common.c
@@ -1490,6 +1490,14 @@ int pcibios_enable_device(struct pci_dev *dev, int mask)
return pci_enable_resources(dev, mask);
}
+void pcibios_disable_device(struct pci_dev *dev)
+{
+ struct pci_controller *phb = pci_bus_to_host(dev->bus);
+
+ if (phb->controller_ops.disable_device)
+ phb->controller_ops.disable_device(dev);
+}
+
resource_size_t pcibios_io_space_offset(struct pci_controller *hose)
{
return (unsigned long) hose->io_base_virt - _IO_BASE;