Commit dd926703 authored by Uwe Kleine-König's avatar Uwe Kleine-König Committed by Alexandre Belloni
Browse files

i3c: Make remove callback return void



The driver core ignores the return value of struct bus_type::remove()
because there is only little that can be done. To simplify the quest to
make this function return void, let struct i3c_driver::remove() return
void, too. This makes it obvious that returning an error code is
a bad idea and future driver authors cannot get that wrong.

Up to now there are no drivers with a remove callback, so there is no
need to adapt drivers.

Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20210128091048.17006-2-u.kleine-koenig@pengutronix.de
parent 7456fea5
Loading
Loading
Loading
Loading
+3 −7
Original line number Diff line number Diff line
@@ -326,17 +326,13 @@ static int i3c_device_remove(struct device *dev)
{
	struct i3c_device *i3cdev = dev_to_i3cdev(dev);
	struct i3c_driver *driver = drv_to_i3cdrv(dev->driver);
	int ret = 0;

	if (driver->remove) {
		ret = driver->remove(i3cdev);
		if (ret)
			return ret;
	}
	if (driver->remove)
		driver->remove(i3cdev);

	i3c_device_free_ibi(i3cdev);

	return ret;
	return 0;
}

struct bus_type i3c_bus_type = {
+1 −1
Original line number Diff line number Diff line
@@ -176,7 +176,7 @@ struct i3c_device;
struct i3c_driver {
	struct device_driver driver;
	int (*probe)(struct i3c_device *dev);
	int (*remove)(struct i3c_device *dev);
	void (*remove)(struct i3c_device *dev);
	const struct i3c_device_id *id_table;
};