[PATCH v2 4/4] bus: Make remove callback return void

Benjamin Tissoires benjamin.tissoires at redhat.com
Wed Jul 7 16:24:38 CEST 2021


On 7/6/21 5:48 PM, Uwe Kleine-König wrote:
> The driver core ignores the return value of this callback because there
> is only little it can do when a device disappears.
> 
> This is the final bit of a long lasting cleanup quest where several
> buses were converted to also return void from their remove callback.
> Additionally some resource leaks were fixed that were caused by drivers
> returning an error code in the expectation that the driver won't go
> away.
> 
> With struct bus_type::remove returning void it's prevented that newly
> implemented buses return an ignored error code and so don't anticipate
> wrong expectations for driver authors.
> 
> Acked-by: Russell King (Oracle) <rmk+kernel at armlinux.org.uk> (For ARM, Amba and related parts)
> Acked-by: Mark Brown <broonie at kernel.org>
> Acked-by: Chen-Yu Tsai <wens at csie.org> (for drivers/bus/sunxi-rsb.c)
> Acked-by: Pali Rohár <pali at kernel.org>
> Acked-by: Mauro Carvalho Chehab <mchehab at kernel.org> (for drivers/media)
> Acked-by: Hans de Goede <hdegoede at redhat.com> (For drivers/platform)
> Acked-by: Alexandre Belloni <alexandre.belloni at bootlin.com>
> Acked-By: Vinod Koul <vkoul at kernel.org>
> Acked-by: Juergen Gross <jgross at suse.com> (For Xen)
> Acked-by: Lee Jones <lee.jones at linaro.org> (For drivers/mfd)
> Acked-by: Johannes Thumshirn <jth at kernel.org> (For drivers/mcb)
> Acked-by: Johan Hovold <johan at kernel.org>
> Acked-by: Srinivas Kandagatla <srinivas.kandagatla at linaro.org> (For drivers/slimbus)
> Acked-by: Kirti Wankhede <kwankhede at nvidia.com> (For drivers/vfio)
> Acked-by: Maximilian Luz <luzmaximilian at gmail.com>
> Acked-by: Heikki Krogerus <heikki.krogerus at linux.intel.com> (For ulpi and typec)
> Acked-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com> (For ipack)
> Reviewed-by: Tom Rix <trix at redhat.com> (For fpga)
> Acked-by: Geoff Levand <geoff at infradead.org> (For ps3)
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
> ---
> 

[...]

>   drivers/hid/hid-core.c                    | 4 +---
>   drivers/hid/intel-ish-hid/ishtp/bus.c     | 4 +---

[...]

> diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
> index 7db332139f7d..dbed2524fd47 100644
> --- a/drivers/hid/hid-core.c
> +++ b/drivers/hid/hid-core.c
> @@ -2302,7 +2302,7 @@ static int hid_device_probe(struct device *dev)
>   	return ret;
>   }
>   
> -static int hid_device_remove(struct device *dev)
> +static void hid_device_remove(struct device *dev)
>   {
>   	struct hid_device *hdev = to_hid_device(dev);
>   	struct hid_driver *hdrv;
> @@ -2322,8 +2322,6 @@ static int hid_device_remove(struct device *dev)
>   
>   	if (!hdev->io_started)
>   		up(&hdev->driver_input_lock);
> -
> -	return 0;
>   }
>   
>   static ssize_t modalias_show(struct device *dev, struct device_attribute *a,
> diff --git a/drivers/hid/intel-ish-hid/ishtp/bus.c b/drivers/hid/intel-ish-hid/ishtp/bus.c
> index f0802b047ed8..8a51bd9cd093 100644
> --- a/drivers/hid/intel-ish-hid/ishtp/bus.c
> +++ b/drivers/hid/intel-ish-hid/ishtp/bus.c
> @@ -255,7 +255,7 @@ static int ishtp_cl_bus_match(struct device *dev, struct device_driver *drv)
>    *
>    * Return: Return value from driver remove() call.
>    */
> -static int ishtp_cl_device_remove(struct device *dev)
> +static void ishtp_cl_device_remove(struct device *dev)
>   {
>   	struct ishtp_cl_device *device = to_ishtp_cl_device(dev);
>   	struct ishtp_cl_driver *driver = to_ishtp_cl_driver(dev->driver);
> @@ -267,8 +267,6 @@ static int ishtp_cl_device_remove(struct device *dev)
>   
>   	if (driver->remove)
>   		driver->remove(device);
> -
> -	return 0;
>   }
>   
>   /**

For the HID part:

Acked-by: Benjamin Tissoires <benjamin.tissoires at redhat.com>

Cheers,
Benjamin



More information about the Alsa-devel mailing list