Re: [PATCH 1/2] staging: fieldbus: anybus: Make remove callback return void

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Uwe,

On Wed, May 05, 2021 at 10:29:22PM +0200, Uwe Kleine-König wrote:
> 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 vio_driver::remove() return
> void, too. All users already unconditionally return 0, this commit makes
> it obvious that returning an error code is a bad idea.

looks like that the commit description hardly matches what you changed
here. You changed the return type of handler remove() of struct
anybuss_client_driver. Are the latter and bus_type tied in some
fashion?


Why using :: notation?

> 
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
> ---
>  drivers/staging/fieldbus/anybuss/anybuss-client.h | 2 +-
>  drivers/staging/fieldbus/anybuss/hms-profinet.c   | 3 +--
>  drivers/staging/fieldbus/anybuss/host.c           | 3 ++-
>  3 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/staging/fieldbus/anybuss/anybuss-client.h b/drivers/staging/fieldbus/anybuss/anybuss-client.h
> index 8ee1f1baccf1..a219688006fe 100644
> --- a/drivers/staging/fieldbus/anybuss/anybuss-client.h
> +++ b/drivers/staging/fieldbus/anybuss/anybuss-client.h
> @@ -32,7 +32,7 @@ struct anybuss_client {
>  struct anybuss_client_driver {
>  	struct device_driver driver;
>  	int (*probe)(struct anybuss_client *adev);
> -	int (*remove)(struct anybuss_client *adev);
> +	void (*remove)(struct anybuss_client *adev);
>  	u16 anybus_id;
>  };
>  
> diff --git a/drivers/staging/fieldbus/anybuss/hms-profinet.c b/drivers/staging/fieldbus/anybuss/hms-profinet.c
> index eca7d97b8e85..e691736a53f1 100644
> --- a/drivers/staging/fieldbus/anybuss/hms-profinet.c
> +++ b/drivers/staging/fieldbus/anybuss/hms-profinet.c
> @@ -190,12 +190,11 @@ static int profinet_probe(struct anybuss_client *client)
>  	return 0;
>  }
>  
> -static int profinet_remove(struct anybuss_client *client)
> +static void profinet_remove(struct anybuss_client *client)
>  {
>  	struct profi_priv *priv = anybuss_get_drvdata(client);
>  
>  	fieldbus_dev_unregister(&priv->fbdev);
> -	return 0;
>  }
>  
>  static struct anybuss_client_driver profinet_driver = {
> diff --git a/drivers/staging/fieldbus/anybuss/host.c b/drivers/staging/fieldbus/anybuss/host.c
> index c97df91124a4..de6c287efa03 100644
> --- a/drivers/staging/fieldbus/anybuss/host.c
> +++ b/drivers/staging/fieldbus/anybuss/host.c
> @@ -1194,7 +1194,8 @@ static int anybus_bus_remove(struct device *dev)
>  		to_anybuss_client_driver(dev->driver);
>  
>  	if (adrv->remove)
> -		return adrv->remove(to_anybuss_client(dev));
> +		adrv->remove(to_anybuss_client(dev));
> +
>  	return 0;
>  }
>  
> 
> base-commit: d665ea6ea86c785760ee4bad4543dab3267ad074
> -- 
> 2.30.2
> 
> 

thank you,

fabio




[Index of Archives]     [Linux Driver Development]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux