Commit dde0a318 authored by Uwe Kleine-König's avatar Uwe Kleine-König Committed by Greg Kroah-Hartman
Browse files

PCI: endpoint: Make struct pci_epf_driver::remove return void



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.

Acked-by: default avatarKishon Vijay Abraham I <kishon@ti.com>
Acked-by: default avatarBjorn Helgaas <bhelgaas@google.com>
Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Link: https://lore.kernel.org/r/20210713193522.1770306-2-u.kleine-koenig@pengutronix.de


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 2734d6c1
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -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 = {
+1 −1
Original line number Diff line number Diff line
@@ -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;