vme: make 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 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>
This commit is contained in:
Uwe Kleine-König 2021-01-27 22:23:29 +01:00 committed by Greg Kroah-Hartman
parent 5f68053279
commit 2adc75fba3
3 changed files with 4 additions and 6 deletions

View 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 = {

View 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 = {

View 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;
};