Commit abeeed6d authored by Michael Neuling's avatar Michael Neuling Committed by Michael Ellerman

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: default avatarMichael Neuling <mikey@neuling.org>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent 7a8e6bbf
...@@ -27,6 +27,8 @@ struct pci_controller_ops { ...@@ -27,6 +27,8 @@ struct pci_controller_ops {
* allow assignment/enabling of the device. */ * allow assignment/enabling of the device. */
bool (*enable_device_hook)(struct pci_dev *); bool (*enable_device_hook)(struct pci_dev *);
void (*disable_device)(struct pci_dev *);
void (*release_device)(struct pci_dev *); void (*release_device)(struct pci_dev *);
/* Called during PCI resource reassignment */ /* Called during PCI resource reassignment */
......
...@@ -1490,6 +1490,14 @@ int pcibios_enable_device(struct pci_dev *dev, int mask) ...@@ -1490,6 +1490,14 @@ int pcibios_enable_device(struct pci_dev *dev, int mask)
return pci_enable_resources(dev, 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) resource_size_t pcibios_io_space_offset(struct pci_controller *hose)
{ {
return (unsigned long) hose->io_base_virt - _IO_BASE; return (unsigned long) hose->io_base_virt - _IO_BASE;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment