linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] bus: sunxi-rsb: make remove callback return void
@ 2020-11-26  7:41 Uwe Kleine-König
  2020-11-26  7:55 ` Chen-Yu Tsai
  0 siblings, 1 reply; 4+ messages in thread
From: Uwe Kleine-König @ 2020-11-26  7:41 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Greg Kroah-Hartman, Chen-Yu Tsai, Mark Brown, linux-arm-kernel,
	kernel

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.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 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(-)

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)
-- 
2.29.2


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] bus: sunxi-rsb: make remove callback return void
  2020-11-26  7:41 [PATCH] bus: sunxi-rsb: make remove callback return void Uwe Kleine-König
@ 2020-11-26  7:55 ` Chen-Yu Tsai
  2020-11-26  8:03   ` Lee Jones
  0 siblings, 1 reply; 4+ messages in thread
From: Chen-Yu Tsai @ 2020-11-26  7:55 UTC (permalink / raw)
  To: Uwe Kleine-König
  Cc: Greg Kroah-Hartman, Mark Brown, Sascha Hauer, Maxime Ripard,
	Lee Jones, linux-arm-kernel

On Thu, Nov 26, 2020 at 3:41 PM Uwe Kleine-König
<u.kleine-koenig@pengutronix.de> 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.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>

Looks good to me.

Reviewed-by: Chen-Yu Tsai <wens@csie.org>

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.


Regards
ChenYu

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] bus: sunxi-rsb: make remove callback return void
  2020-11-26  7:55 ` Chen-Yu Tsai
@ 2020-11-26  8:03   ` Lee Jones
  2020-11-26 10:35     ` Uwe Kleine-König
  0 siblings, 1 reply; 4+ messages in thread
From: Lee Jones @ 2020-11-26  8:03 UTC (permalink / raw)
  To: Chen-Yu Tsai
  Cc: Greg Kroah-Hartman, Mark Brown, Sascha Hauer,
	Uwe Kleine-König, Maxime Ripard, linux-arm-kernel

On Thu, 26 Nov 2020, Chen-Yu Tsai wrote:

> On Thu, Nov 26, 2020 at 3:41 PM Uwe Kleine-König
> <u.kleine-koenig@pengutronix.de> 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.
> >
> > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> 
> Looks good to me.
> 
> Reviewed-by: Chen-Yu Tsai <wens@csie.org>
> 
> 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,

Right.  Thank you Chen-Yu.

Uwe, did you run get_maintainer.pl?

Please re-submit this with the proper people on Cc.

> 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.

-- 
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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] bus: sunxi-rsb: make remove callback return void
  2020-11-26  8:03   ` Lee Jones
@ 2020-11-26 10:35     ` Uwe Kleine-König
  0 siblings, 0 replies; 4+ messages in thread
From: Uwe Kleine-König @ 2020-11-26 10:35 UTC (permalink / raw)
  To: Lee Jones
  Cc: Greg Kroah-Hartman, Chen-Yu Tsai, Mark Brown, Sascha Hauer,
	Maxime Ripard, linux-arm-kernel


[-- Attachment #1.1: Type: text/plain, Size: 1521 bytes --]

On Thu, Nov 26, 2020 at 08:03:16AM +0000, Lee Jones wrote:
> On Thu, 26 Nov 2020, Chen-Yu Tsai wrote:
> 
> > On Thu, Nov 26, 2020 at 3:41 PM Uwe Kleine-König
> > <u.kleine-koenig@pengutronix.de> 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.
> > >
> > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> > 
> > Looks good to me.
> > 
> > Reviewed-by: Chen-Yu Tsai <wens@csie.org>
> > 
> > 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,
> 
> Right.  Thank you Chen-Yu.
> 
> Uwe, did you run get_maintainer.pl?

I thought I did, but obviously I somehow failed. (I have an idea what
went wrong, but I spare you the details.)

> Please re-submit this with the proper people on Cc.

sure, sorry for my confusion. 

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-11-26 10:36 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-11-26  7:41 [PATCH] bus: sunxi-rsb: make remove callback return void Uwe Kleine-König
2020-11-26  7:55 ` Chen-Yu Tsai
2020-11-26  8:03   ` Lee Jones
2020-11-26 10:35     ` Uwe Kleine-König

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).