On 2/23/21 10:07 AM, Uwe Kleine-König wrote: > The driver core ignores the return value of pci_epf_device_remove() > (because there is only little it can do when a device disappears) and > there are no pci_epf_drivers with a remove callback. > > So make it impossible for future drivers to return an unused error code > by changing the remove prototype to return void. > > The real motivation for this change is the quest to make struct > bus_type::remove return void, too. > > Signed-off-by: Uwe Kleine-König Ping! This patch now waits for more than 2 months on feedback (or application). The 5.13 merge window just closed, this is a great opportunity to apply this patch for next. Thanks for consideration, Uwe > --- > drivers/pci/endpoint/pci-epf-core.c | 5 ++--- > include/linux/pci-epf.h | 2 +- > 2 files changed, 3 insertions(+), 4 deletions(-) > > diff --git a/drivers/pci/endpoint/pci-epf-core.c b/drivers/pci/endpoint/pci-epf-core.c > index 7646c8660d42..a19c375f9ec9 100644 > --- a/drivers/pci/endpoint/pci-epf-core.c > +++ b/drivers/pci/endpoint/pci-epf-core.c > @@ -389,15 +389,14 @@ static int pci_epf_device_probe(struct device *dev) > > static int pci_epf_device_remove(struct device *dev) > { > - int ret = 0; > struct pci_epf *epf = to_pci_epf(dev); > struct pci_epf_driver *driver = to_pci_epf_driver(dev->driver); > > if (driver->remove) > - ret = driver->remove(epf); > + driver->remove(epf); > epf->driver = NULL; > > - return ret; > + return 0; > } > > static struct bus_type pci_epf_bus_type = { > diff --git a/include/linux/pci-epf.h b/include/linux/pci-epf.h > index 6833e2160ef1..f8a17b6b1d31 100644 > --- a/include/linux/pci-epf.h > +++ b/include/linux/pci-epf.h > @@ -85,7 +85,7 @@ struct pci_epf_ops { > */ > struct pci_epf_driver { > int (*probe)(struct pci_epf *epf); > - int (*remove)(struct pci_epf *epf); > + void (*remove)(struct pci_epf *epf); > > struct device_driver driver; > struct pci_epf_ops *ops; >