Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: 9049/1: locomo: make locomo bus's remove callback return void

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>

authored by

Uwe Kleine-König and committed by
Russell King
33d6d2bb 074a6bda

+5 -15
+2 -3
arch/arm/common/locomo.c
··· 838 838 { 839 839 struct locomo_dev *ldev = LOCOMO_DEV(dev); 840 840 struct locomo_driver *drv = LOCOMO_DRV(dev->driver); 841 - int ret = 0; 842 841 843 842 if (drv->remove) 844 - ret = drv->remove(ldev); 845 - return ret; 843 + drv->remove(ldev); 844 + return 0; 846 845 } 847 846 848 847 struct bus_type locomo_bus_type = {
+1 -1
arch/arm/include/asm/hardware/locomo.h
··· 188 188 struct device_driver drv; 189 189 unsigned int devid; 190 190 int (*probe)(struct locomo_dev *); 191 - int (*remove)(struct locomo_dev *); 191 + void (*remove)(struct locomo_dev *); 192 192 }; 193 193 194 194 #define LOCOMO_DRV(_d) container_of((_d), struct locomo_driver, drv)
-6
arch/arm/mach-sa1100/collie.c
··· 224 224 return 0; 225 225 } 226 226 227 - static int collie_uart_remove(struct locomo_dev *dev) 228 - { 229 - return 0; 230 - } 231 - 232 227 static struct locomo_driver collie_uart_driver = { 233 228 .drv = { 234 229 .name = "collie_uart", 235 230 }, 236 231 .devid = LOCOMO_DEVID_UART, 237 232 .probe = collie_uart_probe, 238 - .remove = collie_uart_remove, 239 233 }; 240 234 241 235 static int __init collie_uart_init(void)
+1 -3
drivers/input/keyboard/locomokbd.c
··· 304 304 return err; 305 305 } 306 306 307 - static int locomokbd_remove(struct locomo_dev *dev) 307 + static void locomokbd_remove(struct locomo_dev *dev) 308 308 { 309 309 struct locomokbd *locomokbd = locomo_get_drvdata(dev); 310 310 ··· 318 318 release_mem_region((unsigned long) dev->mapbase, dev->length); 319 319 320 320 kfree(locomokbd); 321 - 322 - return 0; 323 321 } 324 322 325 323 static struct locomo_driver keyboard_driver = {
+1 -2
drivers/video/backlight/locomolcd.c
··· 208 208 return 0; 209 209 } 210 210 211 - static int locomolcd_remove(struct locomo_dev *dev) 211 + static void locomolcd_remove(struct locomo_dev *dev) 212 212 { 213 213 unsigned long flags; 214 214 ··· 220 220 local_irq_save(flags); 221 221 locomolcd_dev = NULL; 222 222 local_irq_restore(flags); 223 - return 0; 224 223 } 225 224 226 225 static struct locomo_driver poodle_lcd_driver = {