ARM: 9049/1: locomo: make locomo bus's remove callback return void
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Thu, 14 Jan 2021 16:40:06 +0000 (17:40 +0100)
committerRussell King <rmk+kernel@armlinux.org.uk>
Mon, 1 Feb 2021 19:44:30 +0000 (19:44 +0000)
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 locomo_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.

Link: https://lore.kernel.org/r/20201126110140.2021758-1-u.kleine-koenig@pengutronix.de
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Acked-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
arch/arm/common/locomo.c
arch/arm/include/asm/hardware/locomo.h
arch/arm/mach-sa1100/collie.c
drivers/input/keyboard/locomokbd.c
drivers/video/backlight/locomolcd.c

index 62f241b..e45f4e4 100644 (file)
@@ -838,11 +838,10 @@ static int locomo_bus_remove(struct device *dev)
 {
        struct locomo_dev *ldev = LOCOMO_DEV(dev);
        struct locomo_driver *drv = LOCOMO_DRV(dev->driver);
-       int ret = 0;
 
        if (drv->remove)
-               ret = drv->remove(ldev);
-       return ret;
+               drv->remove(ldev);
+       return 0;
 }
 
 struct bus_type locomo_bus_type = {
index f8712e3..246a3de 100644 (file)
@@ -188,7 +188,7 @@ struct locomo_driver {
        struct device_driver    drv;
        unsigned int            devid;
        int (*probe)(struct locomo_dev *);
-       int (*remove)(struct locomo_dev *);
+       void (*remove)(struct locomo_dev *);
 };
 
 #define LOCOMO_DRV(_d) container_of((_d), struct locomo_driver, drv)
index d4e89a0..14c33ed 100644 (file)
@@ -224,18 +224,12 @@ static int collie_uart_probe(struct locomo_dev *dev)
        return 0;
 }
 
-static int collie_uart_remove(struct locomo_dev *dev)
-{
-       return 0;
-}
-
 static struct locomo_driver collie_uart_driver = {
        .drv = {
                .name = "collie_uart",
        },
        .devid  = LOCOMO_DEVID_UART,
        .probe  = collie_uart_probe,
-       .remove = collie_uart_remove,
 };
 
 static int __init collie_uart_init(void)
index daf6a75..dae0535 100644 (file)
@@ -304,7 +304,7 @@ static int locomokbd_probe(struct locomo_dev *dev)
        return err;
 }
 
-static int locomokbd_remove(struct locomo_dev *dev)
+static void locomokbd_remove(struct locomo_dev *dev)
 {
        struct locomokbd *locomokbd = locomo_get_drvdata(dev);
 
@@ -318,8 +318,6 @@ static int locomokbd_remove(struct locomo_dev *dev)
        release_mem_region((unsigned long) dev->mapbase, dev->length);
 
        kfree(locomokbd);
-
-       return 0;
 }
 
 static struct locomo_driver keyboard_driver = {
index 297ee2e..0468ea8 100644 (file)
@@ -208,7 +208,7 @@ static int locomolcd_probe(struct locomo_dev *ldev)
        return 0;
 }
 
-static int locomolcd_remove(struct locomo_dev *dev)
+static void locomolcd_remove(struct locomo_dev *dev)
 {
        unsigned long flags;
 
@@ -220,7 +220,6 @@ static int locomolcd_remove(struct locomo_dev *dev)
        local_irq_save(flags);
        locomolcd_dev = NULL;
        local_irq_restore(flags);
-       return 0;
 }
 
 static struct locomo_driver poodle_lcd_driver = {