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 <[email protected]>
---
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;
--
2.30.2
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 <[email protected]>
Acked-by: Finn Thain <[email protected]>
> ---
> 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;
>