From: Lee Jones <lee.jones@linaro.org>
To: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
Cc: linux-arm-kernel@lists.infradead.org,
Chen-Yu Tsai <wens@csie.org>,
Jernej Skrabec <jernej.skrabec@siol.net>,
Maxime Ripard <mripard@kernel.org>,
kernel@pengutronix.de
Subject: Re: [PATCH v2] bus: sunxi-rsb: make remove callback return void
Date: Fri, 15 Jan 2021 08:11:22 +0000 [thread overview]
Message-ID: <20210115081122.GE3975472@dell> (raw)
In-Reply-To: <20201126104142.2011756-1-u.kleine-koenig@pengutronix.de>
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@csie.org>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> ---
> Hello,
>
> compared to implicit v1 (Message-Id:
> 20201126074124.1753528-1-u.kleine-koenig@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@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. 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.
> diff --git a/drivers/bus/sunxi-rsb.c b/drivers/bus/sunxi-rsb.c
> index 1bb00a959c67..117716e23ffb 100644
> --- a/drivers/bus/sunxi-rsb.c
> +++ b/drivers/bus/sunxi-rsb.c
> @@ -170,7 +170,9 @@ static int sunxi_rsb_device_remove(struct device *dev)
> {
> const struct sunxi_rsb_driver *drv = to_sunxi_rsb_driver(dev->driver);
>
> - return drv->remove(to_sunxi_rsb_device(dev));
> + drv->remove(to_sunxi_rsb_device(dev));
> +
> + return 0;
> }
>
> static struct bus_type sunxi_rsb_bus = {
> diff --git a/drivers/mfd/axp20x-i2c.c b/drivers/mfd/axp20x-i2c.c
> index 068e9c083f13..743e8338b0db 100644
> --- a/drivers/mfd/axp20x-i2c.c
> +++ b/drivers/mfd/axp20x-i2c.c
> @@ -54,7 +54,9 @@ static int axp20x_i2c_remove(struct i2c_client *i2c)
> {
> struct axp20x_dev *axp20x = i2c_get_clientdata(i2c);
>
> - return axp20x_device_remove(axp20x);
> + axp20x_device_remove(axp20x);
> +
> + return 0;
> }
>
> static const struct of_device_id axp20x_i2c_of_match[] = {
> diff --git a/drivers/mfd/axp20x-rsb.c b/drivers/mfd/axp20x-rsb.c
> index 4cdc79f5cc48..214bc0d84d44 100644
> --- a/drivers/mfd/axp20x-rsb.c
> +++ b/drivers/mfd/axp20x-rsb.c
> @@ -49,11 +49,11 @@ static int axp20x_rsb_probe(struct sunxi_rsb_device *rdev)
> return axp20x_device_probe(axp20x);
> }
>
> -static int axp20x_rsb_remove(struct sunxi_rsb_device *rdev)
> +static void axp20x_rsb_remove(struct sunxi_rsb_device *rdev)
> {
> struct axp20x_dev *axp20x = sunxi_rsb_device_get_drvdata(rdev);
>
> - return axp20x_device_remove(axp20x);
> + axp20x_device_remove(axp20x);
> }
>
> static const struct of_device_id axp20x_rsb_of_match[] = {
> diff --git a/drivers/mfd/axp20x.c b/drivers/mfd/axp20x.c
> index aa59496e4376..3eae04e24ac8 100644
> --- a/drivers/mfd/axp20x.c
> +++ b/drivers/mfd/axp20x.c
> @@ -987,7 +987,7 @@ int axp20x_device_probe(struct axp20x_dev *axp20x)
> }
> EXPORT_SYMBOL(axp20x_device_probe);
>
> -int axp20x_device_remove(struct axp20x_dev *axp20x)
> +void axp20x_device_remove(struct axp20x_dev *axp20x)
> {
> if (axp20x == axp20x_pm_power_off) {
> axp20x_pm_power_off = NULL;
> @@ -996,8 +996,6 @@ int axp20x_device_remove(struct axp20x_dev *axp20x)
>
> mfd_remove_devices(axp20x->dev);
> regmap_del_irq_chip(axp20x->irq, axp20x->regmap_irqc);
> -
> - return 0;
> }
> EXPORT_SYMBOL(axp20x_device_remove);
>
> diff --git a/include/linux/mfd/axp20x.h b/include/linux/mfd/axp20x.h
> index fd5957c042da..9ab0e2fca7ea 100644
> --- a/include/linux/mfd/axp20x.h
> +++ b/include/linux/mfd/axp20x.h
> @@ -696,6 +696,6 @@ int axp20x_device_probe(struct axp20x_dev *axp20x);
> *
> * This tells the axp20x core to remove the associated mfd devices
> */
> -int axp20x_device_remove(struct axp20x_dev *axp20x);
> +void axp20x_device_remove(struct axp20x_dev *axp20x);
>
> #endif /* __LINUX_MFD_AXP20X_H */
> diff --git a/include/linux/sunxi-rsb.h b/include/linux/sunxi-rsb.h
> index 7e75bb0346d0..bf0d365f471c 100644
> --- 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);
> };
>
> static inline struct sunxi_rsb_driver *to_sunxi_rsb_driver(struct device_driver *d)
--
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2021-01-15 8:13 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-26 10:41 [PATCH v2] bus: sunxi-rsb: make remove callback return void Uwe Kleine-König
2021-01-15 8:11 ` Lee Jones [this message]
2021-01-15 10:45 ` Uwe Kleine-König
2021-01-15 11:05 ` Lee Jones
2021-01-15 12:16 ` Uwe Kleine-König
2021-01-15 12:16 ` Uwe Kleine-König
2021-01-15 13:21 ` Lee Jones
2021-01-15 13:21 ` Lee Jones
2021-01-15 15:09 ` [GIT PULL] Immutable branch between MFD and Bus (SunXi) due for the v5.12 merge window Lee Jones
2021-01-18 3:22 ` Chen-Yu Tsai
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210115081122.GE3975472@dell \
--to=lee.jones@linaro.org \
--cc=jernej.skrabec@siol.net \
--cc=kernel@pengutronix.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=mripard@kernel.org \
--cc=u.kleine-koenig@pengutronix.de \
--cc=wens@csie.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.