[PATCH v2] bus: sunxi-rsb: make remove callback return void

Lee Jones lee.jones at linaro.org
Fri Jan 15 06:05:43 EST 2021


On Fri, 15 Jan 2021, Uwe Kleine-König wrote:

> On Fri, Jan 15, 2021 at 08:11:22AM +0000, Lee Jones wrote:
> > On Thu, 26 Nov 2020, Uwe Kleine-König wrote:
> > 
> > > The driver core ignores the return value of struct device_driver::remove
> > > because there is only little that can be done. To simplify the quest to
> > > make this function return void, let struct sunxi_rsb_driver::remove
> > > return void, too. All users already unconditionally return 0, this
> > > commit makes this obvious and ensures future users don't behave
> > > differently. To simplify even further, make axp20x_device_remove()
> > > return void instead of returning 0 unconditionally, too.
> > > 
> > > Reviewed-by: Chen-Yu Tsai <wens at csie.org>
> > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
> > > ---
> > > Hello,
> > > 
> > > compared to implicit v1 (Message-Id:
> > > 20201126074124.1753528-1-u.kleine-koenig at pengutronix.de) the following changed:
> > > 
> > >  - Sent to a better chosen set of people
> > >  - Add Chen-Yu's Reviewed-by: tag
> > > 
> > > Chen-Yu wrote in reply to v1:
> > > > Since this touches the mfd tree as well, we either need an Ack from Lee,
> > > > the mfd maintainer (CC-ed), or let Lee take it in his tree. For the latter,
> > > > 
> > > > Acked-by: Chen-Yu Tsai <wens at csie.org>
> > > >
> > > > AFAIK we (sunxi) don't have anything regarding RSB queued up, so there
> > > > won't be any conflicts.
> > > 
> > > Best regards
> > > Uwe
> > > 
> > >  drivers/bus/sunxi-rsb.c    | 4 +++-
> > >  drivers/mfd/axp20x-i2c.c   | 4 +++-
> > >  drivers/mfd/axp20x-rsb.c   | 4 ++--
> > >  drivers/mfd/axp20x.c       | 4 +---
> > >  include/linux/mfd/axp20x.h | 2 +-
> > >  include/linux/sunxi-rsb.h  | 2 +-
> > >  6 files changed, 11 insertions(+), 9 deletions(-)
> > 
> > There are no dependencies between the MFD and Bus changes as far as I
> > can tell.
> 
> There are dependencies, because
> 
> -static int axp20x_rsb_remove(struct sunxi_rsb_device *rdev)
> +static void axp20x_rsb_remove(struct sunxi_rsb_device *rdev)
> 
> in drivers/mfd/axp20x-rsb.c must be done together with
> 
> --- a/include/linux/sunxi-rsb.h
> +++ b/include/linux/sunxi-rsb.h
> @@ -59,7 +59,7 @@ static inline void sunxi_rsb_device_set_drvdata(struct sunxi_rsb_device *rdev,
>  struct sunxi_rsb_driver {
>  	struct device_driver driver;
>  	int (*probe)(struct sunxi_rsb_device *rdev);
> -	int (*remove)(struct sunxi_rsb_device *rdev);
> +	void (*remove)(struct sunxi_rsb_device *rdev);
>  };
>  [...]

Yes, this will need to be taken in with the MFD patch.

> > For the sake of simplicity i.e. to avoid the requirement of
> > immutable branch maintenance and an associated pull-request, it would
> > be better to split this out into 2 separate patches.
> 
> So the base for this statement is gone

It still stands.

> and the following questions remain:

>  - Do you insist on splitting out the change to axp20x_device_remove()?

[0] Unless you gave give me a compelling reason why it shouldn't, yes.

>  - Do you prefer to ack the mfd part to let the patch (or patches if
>    they get split) go via the sunxi people or do you want to take the
>    it (them) via mfd?

I'd prefer the MFD (and header only affecting MFD) to go in via MFD.

The Bus patch can do in via it's own tree.

> Looking at next there are four patches touching drivers/bus/sunxi-rsb.c
> and none touching drivers/mfd/axp20x* or include/linux/mfd/axp20x.h
> which suggests that letting it go via sunxi might be more sensible. IMHO
> an immutable branch is not necessary?!

It's only -rc3 and you cannot tell the future.

If you manage to satisfy [0] and they do end up going in together, I
will insist on an immutable branch.

-- 
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog



More information about the linux-arm-kernel mailing list