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