Re: [PATCH 2/5] nubus: Make struct nubus_driver::remove return void

From: Finn Thain
Date: Tue Jul 27 2021 - 05:47:44 EST


On Tue, 27 Jul 2021, Uwe Kleine-König wrote:

> The nubus core ignores the return value of the remove callback (in
> nubus_device_remove()) and all implementers return 0 anyway.
>
> So make it impossible for future drivers to return an unused error code
> by changing the remove prototype to return void.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>

Acked-by: Finn Thain <fthain@xxxxxxxxxxxxxx>

> ---
> drivers/net/ethernet/8390/mac8390.c | 3 +--
> drivers/net/ethernet/natsemi/macsonic.c | 4 +---
> include/linux/nubus.h | 2 +-
> 3 files changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/net/ethernet/8390/mac8390.c b/drivers/net/ethernet/8390/mac8390.c
> index 9aac7119d382..91b04abfd687 100644
> --- a/drivers/net/ethernet/8390/mac8390.c
> +++ b/drivers/net/ethernet/8390/mac8390.c
> @@ -428,13 +428,12 @@ static int mac8390_device_probe(struct nubus_board *board)
> return err;
> }
>
> -static int mac8390_device_remove(struct nubus_board *board)
> +static void mac8390_device_remove(struct nubus_board *board)
> {
> struct net_device *dev = nubus_get_drvdata(board);
>
> unregister_netdev(dev);
> free_netdev(dev);
> - return 0;
> }
>
> static struct nubus_driver mac8390_driver = {
> diff --git a/drivers/net/ethernet/natsemi/macsonic.c b/drivers/net/ethernet/natsemi/macsonic.c
> index 2289e1fe3741..8709d700e15a 100644
> --- a/drivers/net/ethernet/natsemi/macsonic.c
> +++ b/drivers/net/ethernet/natsemi/macsonic.c
> @@ -603,7 +603,7 @@ static int mac_sonic_nubus_probe(struct nubus_board *board)
> return err;
> }
>
> -static int mac_sonic_nubus_remove(struct nubus_board *board)
> +static void mac_sonic_nubus_remove(struct nubus_board *board)
> {
> struct net_device *ndev = nubus_get_drvdata(board);
> struct sonic_local *lp = netdev_priv(ndev);
> @@ -613,8 +613,6 @@ static int mac_sonic_nubus_remove(struct nubus_board *board)
> SIZEOF_SONIC_DESC * SONIC_BUS_SCALE(lp->dma_bitmode),
> lp->descriptors, lp->descriptors_laddr);
> free_netdev(ndev);
> -
> - return 0;
> }
>
> static struct nubus_driver mac_sonic_nubus_driver = {
> diff --git a/include/linux/nubus.h b/include/linux/nubus.h
> index eba50b057f6f..392fc6c53e96 100644
> --- a/include/linux/nubus.h
> +++ b/include/linux/nubus.h
> @@ -86,7 +86,7 @@ extern struct list_head nubus_func_rsrcs;
> struct nubus_driver {
> struct device_driver driver;
> int (*probe)(struct nubus_board *board);
> - int (*remove)(struct nubus_board *board);
> + void (*remove)(struct nubus_board *board);
> };
>
> extern struct bus_type nubus_bus_type;
>