Message ID | 20181019021132.14743-3-okaya@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Bjorn Helgaas |
Headers | show |
Series | [v6,1/7] PCI: Expose reset_type to users of __pci_reset_function_locked() | expand |
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@kernel.org> > --- > 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 >
On 10/19/2018 4:20 PM, Bjorn Helgaas wrote: >> +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? > I'll remove this function on another patch. I transition all __pci_reset_function_locked users to pci_reset_function_locked() first. Then all pci_reset_function_locked() users to pci_reset_function(). Then, git rid of pci_reset_function_locked() at last step.
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); 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);
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@kernel.org> --- drivers/pci/pci.c | 5 +++-- include/linux/pci.h | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-)