Message ID | 20201126114724.2028511-1-u.kleine-koenig@pengutronix.de (mailing list archive) |
---|---|
State | Accepted |
Commit | 074a6bda18ce486695ad7308ac39e60cf8b04c39 |
Headers | show |
Series | ARM: sa11111: make sa1111 bus's remove callback return void | expand |
On Thu, Nov 26, 2020 at 12:47:24PM +0100, 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 sa1111_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 and ensures future > users behave accordingly. > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> > --- > arch/arm/common/sa1111.c | 6 +++--- > arch/arm/include/asm/hardware/sa1111.h | 2 +- > drivers/input/serio/sa1111ps2.c | 4 +--- Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Thanks.
On Thu, Nov 26, 2020 at 12:47:24PM +0100, 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 sa1111_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 and ensures future > users behave accordingly. > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Hey Greg, On Fri, Dec 04, 2020 at 03:58:17PM +0100, Greg Kroah-Hartman wrote: > On Thu, Nov 26, 2020 at 12:47:24PM +0100, 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 sa1111_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 and ensures future > > users behave accordingly. > > > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> > > Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Thanks, can I interpret this also as an Ack to take the change affecting drivers/usb via Russell's tree? Best regards Uwe
On Fri, Dec 04, 2020 at 09:09:27PM +0100, Uwe Kleine-König wrote: > Hey Greg, > > On Fri, Dec 04, 2020 at 03:58:17PM +0100, Greg Kroah-Hartman wrote: > > On Thu, Nov 26, 2020 at 12:47:24PM +0100, 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 sa1111_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 and ensures future > > > users behave accordingly. > > > > > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> > > > > Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > > Thanks, can I interpret this also as an Ack to take the change affecting > drivers/usb via Russell's tree? Sorry, yes, that is what I was implying here, I should have been more specific. thanks, greg k-h
Am Thu, Nov 26, 2020 at 12:47:24PM +0100 schrieb Uwe Kleine-König: > 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 sa1111_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 and ensures future > users behave accordingly. > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> For the PCMCIA-related change, FWIW, Acked-by: Dominik Brodowski <linux@dominikbrodowski.net> Thanks, Dominik
diff --git a/arch/arm/common/sa1111.c b/arch/arm/common/sa1111.c index f89c1ea327a2..ff5e0d04cb89 100644 --- a/arch/arm/common/sa1111.c +++ b/arch/arm/common/sa1111.c @@ -1368,11 +1368,11 @@ static int sa1111_bus_remove(struct device *dev) { struct sa1111_dev *sadev = to_sa1111_device(dev); struct sa1111_driver *drv = SA1111_DRV(dev->driver); - int ret = 0; if (drv->remove) - ret = drv->remove(sadev); - return ret; + drv->remove(sadev); + + return 0; } struct bus_type sa1111_bus_type = { diff --git a/arch/arm/include/asm/hardware/sa1111.h b/arch/arm/include/asm/hardware/sa1111.h index d134b9a5ff94..2e70db6f22ea 100644 --- a/arch/arm/include/asm/hardware/sa1111.h +++ b/arch/arm/include/asm/hardware/sa1111.h @@ -403,7 +403,7 @@ struct sa1111_driver { struct device_driver drv; unsigned int devid; int (*probe)(struct sa1111_dev *); - int (*remove)(struct sa1111_dev *); + void (*remove)(struct sa1111_dev *); }; #define SA1111_DRV(_d) container_of((_d), struct sa1111_driver, drv) diff --git a/drivers/input/serio/sa1111ps2.c b/drivers/input/serio/sa1111ps2.c index 7b8ceb702a74..68fac4801e2e 100644 --- a/drivers/input/serio/sa1111ps2.c +++ b/drivers/input/serio/sa1111ps2.c @@ -344,7 +344,7 @@ static int ps2_probe(struct sa1111_dev *dev) /* * Remove one device from this driver. */ -static int ps2_remove(struct sa1111_dev *dev) +static void ps2_remove(struct sa1111_dev *dev) { struct ps2if *ps2if = sa1111_get_drvdata(dev); @@ -353,8 +353,6 @@ static int ps2_remove(struct sa1111_dev *dev) sa1111_set_drvdata(dev, NULL); kfree(ps2if); - - return 0; } /* diff --git a/drivers/pcmcia/sa1111_generic.c b/drivers/pcmcia/sa1111_generic.c index 11783410223b..29fdd174bc23 100644 --- a/drivers/pcmcia/sa1111_generic.c +++ b/drivers/pcmcia/sa1111_generic.c @@ -238,7 +238,7 @@ static int pcmcia_probe(struct sa1111_dev *dev) return ret; } -static int pcmcia_remove(struct sa1111_dev *dev) +static void pcmcia_remove(struct sa1111_dev *dev) { struct sa1111_pcmcia_socket *next, *s = dev_get_drvdata(&dev->dev); @@ -252,7 +252,6 @@ static int pcmcia_remove(struct sa1111_dev *dev) release_mem_region(dev->res.start, 512); sa1111_disable_device(dev); - return 0; } static struct sa1111_driver pcmcia_driver = { diff --git a/drivers/usb/host/ohci-sa1111.c b/drivers/usb/host/ohci-sa1111.c index 8e19a5eb5b62..feca826d3f6a 100644 --- a/drivers/usb/host/ohci-sa1111.c +++ b/drivers/usb/host/ohci-sa1111.c @@ -236,7 +236,7 @@ static int ohci_hcd_sa1111_probe(struct sa1111_dev *dev) * Reverses the effect of ohci_hcd_sa1111_probe(), first invoking * the HCD's stop() method. */ -static int ohci_hcd_sa1111_remove(struct sa1111_dev *dev) +static void ohci_hcd_sa1111_remove(struct sa1111_dev *dev) { struct usb_hcd *hcd = sa1111_get_drvdata(dev); @@ -244,8 +244,6 @@ static int ohci_hcd_sa1111_remove(struct sa1111_dev *dev) sa1111_stop_hc(dev); release_mem_region(hcd->rsrc_start, hcd->rsrc_len); usb_put_hcd(hcd); - - return 0; } static void ohci_hcd_sa1111_shutdown(struct device *_dev)
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 sa1111_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 and ensures future users behave accordingly. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> --- arch/arm/common/sa1111.c | 6 +++--- arch/arm/include/asm/hardware/sa1111.h | 2 +- drivers/input/serio/sa1111ps2.c | 4 +--- drivers/pcmcia/sa1111_generic.c | 3 +-- drivers/usb/host/ohci-sa1111.c | 4 +--- 5 files changed, 7 insertions(+), 12 deletions(-)