On Fri, Oct 19, 2018 at 02:11:23AM +0000, Sinan Kaya wrote: > Looking to have more control between the users of the API vs. what the API > can do internally. The new reset_type tells the PCI core about the bounds > of the request. > > Signed-off-by: Sinan Kaya <okaya@xxxxxxxxxx> > --- > drivers/pci/pci.c | 5 +++-- > include/linux/pci.h | 2 +- > 2 files changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c > index 66f102b7ed4e..9a649d1adb13 100644 > --- a/drivers/pci/pci.c > +++ b/drivers/pci/pci.c > @@ -4816,6 +4816,7 @@ EXPORT_SYMBOL_GPL(pci_reset_function); > /** > * pci_reset_function_locked - quiesce and reset a PCI device function > * @dev: PCI device to reset > + * @reset_type: reset type to apply > * > * Some devices allow an individual function to be reset without affecting > * other functions in the same device. The PCI device must be responsive > @@ -4830,7 +4831,7 @@ EXPORT_SYMBOL_GPL(pci_reset_function); > * Returns 0 if the device function was successfully reset or negative if the > * device doesn't support resetting a single function. > */ > -int pci_reset_function_locked(struct pci_dev *dev) > +int pci_reset_function_locked(struct pci_dev *dev, u32 reset_type) > { > int rc; > > @@ -4839,7 +4840,7 @@ int pci_reset_function_locked(struct pci_dev *dev) > > pci_dev_save_and_disable(dev); > > - rc = __pci_reset_function_locked(dev, PCI_RESET_ANY); > + rc = __pci_reset_function_locked(dev, reset_type); > > pci_dev_restore(dev); > > diff --git a/include/linux/pci.h b/include/linux/pci.h > index 927e60660b96..9103ac1b3c31 100644 > --- a/include/linux/pci.h > +++ b/include/linux/pci.h > @@ -1169,7 +1169,7 @@ bool pcie_has_flr(struct pci_dev *dev); > int pcie_flr(struct pci_dev *dev); > int __pci_reset_function_locked(struct pci_dev *dev, u32 reset_type); > int pci_reset_function(struct pci_dev *dev, u32 reset_type); > -int pci_reset_function_locked(struct pci_dev *dev); > +int pci_reset_function_locked(struct pci_dev *dev, u32 reset_type); There are no callers of this. Why are we updating it rather than removing it? > int pci_try_reset_function(struct pci_dev *dev); > int pci_probe_reset_slot(struct pci_slot *slot); > int pci_probe_reset_bus(struct pci_bus *bus); > -- > 2.19.0 >