vme: make remove callback return void
authorUwe Kleine-König <uwe@kleine-koenig.org>
Wed, 27 Jan 2021 21:23:29 +0000 (22:23 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 9 Feb 2021 11:15:07 +0000 (12:15 +0100)
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 vme_driver::remove return void,
too. There is only a single vme driver and it already returns 0
unconditionally in .remove().

Also fix the bus remove function to always return 0.

Signed-off-by: Uwe Kleine-König <uwe@kleine-koenig.org>
Link: https://lore.kernel.org/r/20210127212329.98517-1-uwe@kleine-koenig.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/vme/devices/vme_user.c
drivers/vme/vme.c
include/linux/vme.h

index fd0ea4dbcb9152ebe866400d5a6c2e537a466bf4..35d7260e22714c1850e26db4e956b47f48b7196e 100644 (file)
@@ -689,7 +689,7 @@ err_dev:
        return err;
 }
 
-static int vme_user_remove(struct vme_dev *dev)
+static void vme_user_remove(struct vme_dev *dev)
 {
        int i;
 
@@ -717,8 +717,6 @@ static int vme_user_remove(struct vme_dev *dev)
 
        /* Unregister the major and minor device numbers */
        unregister_chrdev_region(MKDEV(VME_MAJOR, 0), VME_DEVS);
-
-       return 0;
 }
 
 static struct vme_driver vme_user_driver = {
index 54d7963c10782fed64d0b5a7147b52037da2c123..1b15afea28ee973662721ea2b2b3456fb5bd3599 100644 (file)
@@ -1997,9 +1997,9 @@ static int vme_bus_remove(struct device *dev)
 
        driver = dev->platform_data;
        if (driver->remove)
-               return driver->remove(vdev);
+               driver->remove(vdev);
 
-       return -ENODEV;
+       return 0;
 }
 
 struct bus_type vme_bus_type = {
index 7e82bf500f01f616b8b24fd59299126c090cf654..b204a9b4be1bdc2c68c8ae3cf26dce18bb3e0f18 100644 (file)
@@ -122,7 +122,7 @@ struct vme_driver {
        const char *name;
        int (*match)(struct vme_dev *);
        int (*probe)(struct vme_dev *);
-       int (*remove)(struct vme_dev *);
+       void (*remove)(struct vme_dev *);
        struct device_driver driver;
        struct list_head devices;
 };