mirror of
https://github.com/torvalds/linux.git
synced 2024-10-31 17:21:49 +00:00
PCI: Add pci_probe_reset_slot() and pci_probe_reset_bus()
Users of pci_reset_bus() and pci_reset_slot() need a way to probe whether the bus or slot supports reset. Add trivial helper functions and export them as vfio-pci will make use of these. Signed-off-by: Alex Williamson <alex.williamson@redhat.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
This commit is contained in:
parent
1b95ce8fc9
commit
9a3d2b9bee
@ -3609,6 +3609,18 @@ static int pci_slot_reset(struct pci_slot *slot, int probe)
|
||||
return rc;
|
||||
}
|
||||
|
||||
/**
|
||||
* pci_probe_reset_slot - probe whether a PCI slot can be reset
|
||||
* @slot: PCI slot to probe
|
||||
*
|
||||
* Return 0 if slot can be reset, negative if a slot reset is not supported.
|
||||
*/
|
||||
int pci_probe_reset_slot(struct pci_slot *slot)
|
||||
{
|
||||
return pci_slot_reset(slot, 1);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(pci_probe_reset_slot);
|
||||
|
||||
/**
|
||||
* pci_reset_slot - reset a PCI slot
|
||||
* @slot: PCI slot to reset
|
||||
@ -3661,6 +3673,18 @@ static int pci_bus_reset(struct pci_bus *bus, int probe)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* pci_probe_reset_bus - probe whether a PCI bus can be reset
|
||||
* @bus: PCI bus to probe
|
||||
*
|
||||
* Return 0 if bus can be reset, negative if a bus reset is not supported.
|
||||
*/
|
||||
int pci_probe_reset_bus(struct pci_bus *bus)
|
||||
{
|
||||
return pci_bus_reset(bus, 1);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(pci_probe_reset_bus);
|
||||
|
||||
/**
|
||||
* pci_reset_bus - reset a PCI bus
|
||||
* @bus: top level PCI bus to reset
|
||||
|
@ -924,7 +924,9 @@ int pcie_set_mps(struct pci_dev *dev, int mps);
|
||||
int __pci_reset_function(struct pci_dev *dev);
|
||||
int __pci_reset_function_locked(struct pci_dev *dev);
|
||||
int pci_reset_function(struct pci_dev *dev);
|
||||
int pci_probe_reset_slot(struct pci_slot *slot);
|
||||
int pci_reset_slot(struct pci_slot *slot);
|
||||
int pci_probe_reset_bus(struct pci_bus *bus);
|
||||
int pci_reset_bus(struct pci_bus *bus);
|
||||
void pci_reset_bridge_secondary_bus(struct pci_dev *dev);
|
||||
void pci_update_resource(struct pci_dev *dev, int resno);
|
||||
|
Loading…
Reference in New Issue
Block a user