return ret;
 }
 
-static int locomo_bus_remove(struct device *dev)
+static void locomo_bus_remove(struct device *dev)
 {
        struct locomo_dev *ldev = LOCOMO_DEV(dev);
        struct locomo_driver *drv = LOCOMO_DRV(dev->driver);
 
        if (drv->remove)
                drv->remove(ldev);
-       return 0;
 }
 
 struct bus_type locomo_bus_type = {
 
        return ret;
 }
 
-static int sa1111_bus_remove(struct device *dev)
+static void sa1111_bus_remove(struct device *dev)
 {
        struct sa1111_dev *sadev = to_sa1111_device(dev);
        struct sa1111_driver *drv = SA1111_DRV(dev->driver);
 
        if (drv->remove)
                drv->remove(sadev);
-
-       return 0;
 }
 
 struct bus_type sa1111_bus_type = {
 
        return ret;
 }
 
-static int ecard_drv_remove(struct device *dev)
+static void ecard_drv_remove(struct device *dev)
 {
        struct expansion_card *ec = ECARD_DEV(dev);
        struct ecard_driver *drv = ECARD_DRV(dev->driver);
        ec->ops = &ecard_default_ops;
        barrier();
        ec->irq_data = NULL;
-
-       return 0;
 }
 
 /*
 
        return error;
 }
 
-static int gio_device_remove(struct device *dev)
+static void gio_device_remove(struct device *dev)
 {
        struct gio_device *gio_dev = to_gio_device(dev);
        struct gio_driver *drv = to_gio_driver(dev->driver);
 
        if (dev->driver && drv->remove)
                drv->remove(gio_dev);
-       return 0;
 }
 
 static void gio_device_shutdown(struct device *dev)
 
        return rc;
 }
 
-static int __exit parisc_driver_remove(struct device *dev)
+static void __exit parisc_driver_remove(struct device *dev)
 {
        struct parisc_device *pa_dev = to_parisc_device(dev);
        struct parisc_driver *pa_drv = to_parisc_driver(dev->driver);
+
        if (pa_drv->remove)
                pa_drv->remove(pa_dev);
-
-       return 0;
 }
        
 
 
        return result;
 }
 
-static int ps3_system_bus_remove(struct device *_dev)
+static void ps3_system_bus_remove(struct device *_dev)
 {
        struct ps3_system_bus_device *dev = ps3_dev_to_system_bus_dev(_dev);
        struct ps3_system_bus_driver *drv;
                        __func__, __LINE__, drv->core.name);
 
        pr_debug(" <- %s:%d: %s\n", __func__, __LINE__, dev_name(&dev->core));
-       return 0;
 }
 
 static void ps3_system_bus_shutdown(struct device *_dev)
 
        return error;
 }
 
-static int ibmebus_bus_device_remove(struct device *dev)
+static void ibmebus_bus_device_remove(struct device *dev)
 {
        struct platform_device *of_dev = to_platform_device(dev);
        struct platform_driver *drv = to_platform_driver(dev->driver);
 
        if (dev->driver && drv->remove)
                drv->remove(of_dev);
-       return 0;
 }
 
 static void ibmebus_bus_device_shutdown(struct device *dev)
 
 }
 
 /* convert from struct device to struct vio_dev and pass to driver. */
-static int vio_bus_remove(struct device *dev)
+static void vio_bus_remove(struct device *dev)
 {
        struct vio_dev *viodev = to_vio_dev(dev);
        struct vio_driver *viodrv = to_vio_driver(dev->driver);
                vio_cmo_bus_remove(viodev);
 
        put_device(devptr);
-       return 0;
 }
 
 static void vio_bus_shutdown(struct device *dev)
 
        return drv->probe(vdev, id);
 }
 
-static int vio_device_remove(struct device *dev)
+static void vio_device_remove(struct device *dev)
 {
        struct vio_dev *vdev = to_vio_dev(dev);
        struct vio_driver *drv = to_vio_driver(dev->driver);
 
                drv->remove(vdev);
        }
-
-       return 0;
 }
 
 static ssize_t devspec_show(struct device *dev,
 
        return 0;
 }
 
-static int acpi_device_remove(struct device *dev)
+static void acpi_device_remove(struct device *dev)
 {
        struct acpi_device *acpi_dev = to_acpi_device(dev);
        struct acpi_driver *acpi_drv = acpi_dev->driver;
        acpi_dev->driver_data = NULL;
 
        put_device(dev);
-       return 0;
 }
 
 struct bus_type acpi_bus_type = {
 
        return ret;
 }
 
-static int amba_remove(struct device *dev)
+static void amba_remove(struct device *dev)
 {
        struct amba_device *pcdev = to_amba_device(dev);
        struct amba_driver *drv = to_amba_driver(dev->driver);
 
        amba_put_disable_pclk(pcdev);
        dev_pm_domain_detach(dev, true);
-
-       return 0;
 }
 
 static void amba_shutdown(struct device *dev)
 
        return ret;
 }
 
-static int auxiliary_bus_remove(struct device *dev)
+static void auxiliary_bus_remove(struct device *dev)
 {
        struct auxiliary_driver *auxdrv = to_auxiliary_drv(dev->driver);
        struct auxiliary_device *auxdev = to_auxiliary_dev(dev);
        if (auxdrv->remove)
                auxdrv->remove(auxdev);
        dev_pm_domain_detach(dev, true);
-
-       return 0;
 }
 
 static void auxiliary_bus_shutdown(struct device *dev)
 
        return 0;
 }
 
-static int isa_bus_remove(struct device *dev)
+static void isa_bus_remove(struct device *dev)
 {
        struct isa_driver *isa_driver = dev->platform_data;
 
        if (isa_driver && isa_driver->remove)
                isa_driver->remove(dev, to_isa_dev(dev)->id);
-
-       return 0;
 }
 
 static void isa_bus_shutdown(struct device *dev)
 
        return ret;
 }
 
-static int platform_remove(struct device *_dev)
+static void platform_remove(struct device *_dev)
 {
        struct platform_driver *drv = to_platform_driver(_dev->driver);
        struct platform_device *dev = to_platform_device(_dev);
                        dev_warn(_dev, "remove callback returned a non-zero value. This will be ignored.\n");
        }
        dev_pm_domain_detach(_dev, true);
-
-       return 0;
 }
 
 static void platform_shutdown(struct device *_dev)
 
 
 static int bcma_bus_match(struct device *dev, struct device_driver *drv);
 static int bcma_device_probe(struct device *dev);
-static int bcma_device_remove(struct device *dev);
+static void bcma_device_remove(struct device *dev);
 static int bcma_device_uevent(struct device *dev, struct kobj_uevent_env *env);
 
 static ssize_t manuf_show(struct device *dev, struct device_attribute *attr, char *buf)
        return err;
 }
 
-static int bcma_device_remove(struct device *dev)
+static void bcma_device_remove(struct device *dev)
 {
        struct bcma_device *core = container_of(dev, struct bcma_device, dev);
        struct bcma_driver *adrv = container_of(dev->driver, struct bcma_driver,
        if (adrv->remove)
                adrv->remove(core);
        put_device(dev);
-
-       return 0;
 }
 
 static int bcma_device_uevent(struct device *dev, struct kobj_uevent_env *env)
 
        return drv->probe(rdev);
 }
 
-static int sunxi_rsb_device_remove(struct device *dev)
+static void sunxi_rsb_device_remove(struct device *dev)
 {
        const struct sunxi_rsb_driver *drv = to_sunxi_rsb_driver(dev->driver);
 
        drv->remove(to_sunxi_rsb_device(dev));
-
-       return 0;
 }
 
 static struct bus_type sunxi_rsb_bus = {
 
        return to_cxl_drv(dev->driver)->probe(dev);
 }
 
-static int cxl_bus_remove(struct device *dev)
+static void cxl_bus_remove(struct device *dev)
 {
        struct cxl_driver *cxl_drv = to_cxl_drv(dev->driver);
 
        if (cxl_drv->remove)
                cxl_drv->remove(dev);
-       return 0;
 }
 
 struct bus_type cxl_bus_type = {
 
        return 0;
 }
 
-static int dax_bus_remove(struct device *dev)
+static void dax_bus_remove(struct device *dev)
 {
        struct dax_device_driver *dax_drv = to_dax_drv(dev->driver);
        struct dev_dax *dev_dax = to_dev_dax(dev);
 
        if (dax_drv->remove)
                dax_drv->remove(dev_dax);
-
-       return 0;
 }
 
 static struct bus_type dax_bus_type = {
 
        dev_info(dev, "wq %s disabled\n", dev_name(&wq->conf_dev));
 }
 
-static int idxd_config_bus_remove(struct device *dev)
+static void idxd_config_bus_remove(struct device *dev)
 {
        int rc;
 
                        dev_info(dev, "Device %s disabled\n", dev_name(dev));
 
        }
-
-       return 0;
 }
 
 static void idxd_config_bus_shutdown(struct device *dev)
 
        return driver->probe(fw_unit(dev), unit_match(dev, dev->driver));
 }
 
-static int fw_unit_remove(struct device *dev)
+static void fw_unit_remove(struct device *dev)
 {
        struct fw_driver *driver =
                        container_of(dev->driver, struct fw_driver, driver);
 
        driver->remove(fw_unit(dev));
-
-       return 0;
 }
 
 static int get_modalias(struct fw_unit *unit, char *buffer, size_t buffer_size)
 
        return scmi_drv->probe(scmi_dev);
 }
 
-static int scmi_dev_remove(struct device *dev)
+static void scmi_dev_remove(struct device *dev)
 {
        struct scmi_driver *scmi_drv = to_scmi_driver(dev->driver);
        struct scmi_device *scmi_dev = to_scmi_dev(dev);
 
        if (scmi_drv->remove)
                scmi_drv->remove(scmi_dev);
-
-       return 0;
 }
 
 static struct bus_type scmi_bus_type = {
 
        return ret;
 }
 
-static int coreboot_bus_remove(struct device *dev)
+static void coreboot_bus_remove(struct device *dev)
 {
        struct coreboot_device *device = CB_DEV(dev);
        struct coreboot_driver *driver = CB_DRV(dev->driver);
 
        if (driver->remove)
                driver->remove(device);
-
-       return 0;
 }
 
 static struct bus_type coreboot_bus_type = {
 
        return ddrv->probe(ddev);
 }
 
-static int dfl_bus_remove(struct device *dev)
+static void dfl_bus_remove(struct device *dev)
 {
        struct dfl_driver *ddrv = to_dfl_drv(dev->driver);
        struct dfl_device *ddev = to_dfl_dev(dev);
 
        if (ddrv->remove)
                ddrv->remove(ddev);
-
-       return 0;
 }
 
 static int dfl_bus_uevent(struct device *dev, struct kobj_uevent_env *env)
 
        return ret;
 }
 
-static int hid_device_remove(struct device *dev)
+static void hid_device_remove(struct device *dev)
 {
        struct hid_device *hdev = to_hid_device(dev);
        struct hid_driver *hdrv;
 
        if (!hdev->io_started)
                up(&hdev->driver_input_lock);
-
-       return 0;
 }
 
 static ssize_t modalias_show(struct device *dev, struct device_attribute *a,
 
  *
  * Return: Return value from driver remove() call.
  */
-static int ishtp_cl_device_remove(struct device *dev)
+static void ishtp_cl_device_remove(struct device *dev)
 {
        struct ishtp_cl_device *device = to_ishtp_cl_device(dev);
        struct ishtp_cl_driver *driver = to_ishtp_cl_driver(dev->driver);
 
        if (driver->remove)
                driver->remove(device);
-
-       return 0;
 }
 
 /**
 
 /*
  * vmbus_remove - Remove a vmbus device
  */
-static int vmbus_remove(struct device *child_device)
+static void vmbus_remove(struct device *child_device)
 {
        struct hv_driver *drv;
        struct hv_device *dev = device_to_hv_device(child_device);
                if (drv->remove)
                        drv->remove(dev);
        }
-
-       return 0;
 }
 
-
 /*
  * vmbus_shutdown - Shutdown a vmbus device
  */
 
 
 static void intel_th_device_remove(struct intel_th_device *thdev);
 
-static int intel_th_remove(struct device *dev)
+static void intel_th_remove(struct device *dev)
 {
        struct intel_th_driver *thdrv = to_intel_th_driver(dev->driver);
        struct intel_th_device *thdev = to_intel_th_device(dev);
        pm_runtime_disable(dev);
        pm_runtime_set_active(dev);
        pm_runtime_enable(dev);
-
-       return 0;
 }
 
 static struct bus_type intel_th_bus = {
 
        return status;
 }
 
-static int i2c_device_remove(struct device *dev)
+static void i2c_device_remove(struct device *dev)
 {
        struct i2c_client       *client = to_i2c_client(dev);
        struct i2c_adapter      *adap;
        client->irq = 0;
        if (client->flags & I2C_CLIENT_HOST_NOTIFY)
                pm_runtime_put(&client->adapter->dev);
-
-       /* return always 0 because there is WIP to make remove-functions void */
-       return 0;
 }
 
 #ifdef CONFIG_PM_SLEEP
 
        return driver->probe(i3cdev);
 }
 
-static int i3c_device_remove(struct device *dev)
+static void i3c_device_remove(struct device *dev)
 {
        struct i3c_device *i3cdev = dev_to_i3cdev(dev);
        struct i3c_driver *driver = drv_to_i3cdrv(dev->driver);
                driver->remove(i3cdev);
 
        i3c_device_free_ibi(i3cdev);
-
-       return 0;
 }
 
 struct bus_type i3c_bus_type = {
 
        return gameport->drv ? 0 : -ENODEV;
 }
 
-static int gameport_driver_remove(struct device *dev)
+static void gameport_driver_remove(struct device *dev)
 {
        struct gameport *gameport = to_gameport_port(dev);
        struct gameport_driver *drv = to_gameport_driver(dev->driver);
 
        drv->disconnect(gameport);
-       return 0;
 }
 
 static void gameport_attach_driver(struct gameport_driver *drv)
 
        return serio_connect_driver(serio, drv);
 }
 
-static int serio_driver_remove(struct device *dev)
+static void serio_driver_remove(struct device *dev)
 {
        struct serio *serio = to_serio_port(dev);
 
        serio_disconnect_driver(serio);
-       return 0;
 }
 
 static void serio_cleanup(struct serio *serio)
 
        return drv->ops->probe(dev);
 }
 
-static int ipack_bus_remove(struct device *device)
+static void ipack_bus_remove(struct device *device)
 {
        struct ipack_device *dev = to_ipack_dev(device);
        struct ipack_driver *drv = to_ipack_driver(device->driver);
 
        if (drv->ops->remove)
                drv->ops->remove(dev);
-
-       return 0;
 }
 
 static int ipack_uevent(struct device *dev, struct kobj_uevent_env *env)
 
        return error;
 }
 
-static int macio_device_remove(struct device *dev)
+static void macio_device_remove(struct device *dev)
 {
        struct macio_dev * macio_dev = to_macio_device(dev);
        struct macio_driver * drv = to_macio_driver(dev->driver);
        if (dev->driver && drv->remove)
                drv->remove(macio_dev);
        macio_dev_put(macio_dev);
-
-       return 0;
 }
 
 static void macio_device_shutdown(struct device *dev)
 
        return ret;
 }
 
-static int mcb_remove(struct device *dev)
+static void mcb_remove(struct device *dev)
 {
        struct mcb_driver *mdrv = to_mcb_driver(dev->driver);
        struct mcb_device *mdev = to_mcb_device(dev);
        module_put(carrier_mod);
 
        put_device(&mdev->dev);
-
-       return 0;
 }
 
 static void mcb_shutdown(struct device *dev)
 
        return sub->probe ? sub->probe(sdev) : -ENODEV;
 }
 
-static int bttv_sub_remove(struct device *dev)
+static void bttv_sub_remove(struct device *dev)
 {
        struct bttv_sub_device *sdev = to_bttv_sub_dev(dev);
        struct bttv_sub_driver *sub = to_bttv_sub_drv(dev->driver);
 
        if (sub->remove)
                sub->remove(sdev);
-       return 0;
 }
 
 struct bus_type bttv_sub_bus_type = {
 
        return rc;
 }
 
-static int memstick_device_remove(struct device *dev)
+static void memstick_device_remove(struct device *dev)
 {
        struct memstick_dev *card = container_of(dev, struct memstick_dev,
                                                  dev);
        }
 
        put_device(dev);
-       return 0;
 }
 
 #ifdef CONFIG_PM
 
        return drv->probe(mcp);
 }
 
-static int mcp_bus_remove(struct device *dev)
+static void mcp_bus_remove(struct device *dev)
 {
        struct mcp *mcp = to_mcp(dev);
        struct mcp_driver *drv = to_mcp_driver(dev->driver);
 
        drv->remove(mcp);
-       return 0;
 }
 
 static struct bus_type mcp_bus_type = {
 
  *
  * Return:  0 on success; < 0 otherwise
  */
-static int mei_cl_device_remove(struct device *dev)
+static void mei_cl_device_remove(struct device *dev)
 {
        struct mei_cl_device *cldev = to_mei_cl_device(dev);
        struct mei_cl_driver *cldrv = to_mei_cl_driver(dev->driver);
 
        mei_cl_bus_module_put(cldev);
        module_put(THIS_MODULE);
-
-       return 0;
 }
 
 static ssize_t name_show(struct device *dev, struct device_attribute *a,
 
        return;
 }
 
-static int tifm_device_remove(struct device *dev)
+static void tifm_device_remove(struct device *dev)
 {
        struct tifm_dev *sock = container_of(dev, struct tifm_dev, dev);
        struct tifm_driver *drv = container_of(dev->driver, struct tifm_driver,
        }
 
        put_device(dev);
-       return 0;
 }
 
 #ifdef CONFIG_PM
 
        return drv->probe(card);
 }
 
-static int mmc_bus_remove(struct device *dev)
+static void mmc_bus_remove(struct device *dev)
 {
        struct mmc_driver *drv = to_mmc_driver(dev->driver);
        struct mmc_card *card = mmc_dev_to_card(dev);
 
        drv->remove(card);
-
-       return 0;
 }
 
 static void mmc_bus_shutdown(struct device *dev)
 
        return ret;
 }
 
-static int sdio_bus_remove(struct device *dev)
+static void sdio_bus_remove(struct device *dev)
 {
        struct sdio_driver *drv = to_sdio_driver(dev->driver);
        struct sdio_func *func = dev_to_sdio_func(dev);
                pm_runtime_put_sync(dev);
 
        dev_pm_domain_detach(dev, false);
-
-       return 0;
 }
 
 static const struct dev_pm_ops sdio_bus_pm_ops = {
 
        return nsim_dev_probe(nsim_bus_dev);
 }
 
-static int nsim_bus_remove(struct device *dev)
+static void nsim_bus_remove(struct device *dev)
 {
        struct nsim_bus_dev *nsim_bus_dev = to_nsim_bus_dev(dev);
 
        nsim_dev_remove(nsim_bus_dev);
-       return 0;
 }
 
 static int nsim_num_vf(struct device *dev)
 
        return rc;
 }
 
-static int ntb_remove(struct device *dev)
+static void ntb_remove(struct device *dev)
 {
        struct ntb_dev *ntb;
        struct ntb_client *client;
                client->ops.remove(client, ntb);
                put_device(dev);
        }
-
-       return 0;
 }
 
 static void ntb_dev_release(struct device *dev)
 
        return rc;
 }
 
-static int ntb_transport_bus_remove(struct device *dev)
+static void ntb_transport_bus_remove(struct device *dev)
 {
        const struct ntb_transport_client *client;
 
        client->remove(dev);
 
        put_device(dev);
-
-       return 0;
 }
 
 static struct bus_type ntb_transport_bus = {
 
        return err;
 }
 
-static int nubus_device_remove(struct device *dev)
+static void nubus_device_remove(struct device *dev)
 {
        struct nubus_driver *ndrv = to_nubus_driver(dev->driver);
-       int err = -ENODEV;
 
        if (dev->driver && ndrv->remove)
-               err = ndrv->remove(to_nubus_board(dev));
-       return err;
+               ndrv->remove(to_nubus_board(dev));
 }
 
 struct bus_type nubus_bus_type = {
 
        return rc;
 }
 
-static int nvdimm_bus_remove(struct device *dev)
+static void nvdimm_bus_remove(struct device *dev)
 {
        struct nd_device_driver *nd_drv = to_nd_device_driver(dev->driver);
        struct module *provider = to_bus_provider(dev);
        dev_dbg(&nvdimm_bus->dev, "%s.remove(%s)\n", dev->driver->name,
                        dev_name(dev));
        module_put(provider);
-       return 0;
 }
 
 static void nvdimm_bus_shutdown(struct device *dev)
 
        return driver->probe(epf);
 }
 
-static int pci_epf_device_remove(struct device *dev)
+static void pci_epf_device_remove(struct device *dev)
 {
        struct pci_epf *epf = to_pci_epf(dev);
        struct pci_epf_driver *driver = to_pci_epf_driver(dev->driver);
        if (driver->remove)
                driver->remove(epf);
        epf->driver = NULL;
-
-       return 0;
 }
 
 static struct bus_type pci_epf_bus_type = {
 
        return error;
 }
 
-static int pci_device_remove(struct device *dev)
+static void pci_device_remove(struct device *dev)
 {
        struct pci_dev *pci_dev = to_pci_dev(dev);
        struct pci_driver *drv = pci_dev->driver;
         */
 
        pci_dev_put(pci_dev);
-       return 0;
 }
 
 static void pci_device_shutdown(struct device *dev)
 
        return;
 }
 
-static int pcmcia_device_remove(struct device *dev)
+static void pcmcia_device_remove(struct device *dev)
 {
        struct pcmcia_device *p_dev;
        struct pcmcia_driver *p_drv;
        /* references from pcmcia_device_probe */
        pcmcia_put_dev(p_dev);
        module_put(p_drv->owner);
-
-       return 0;
 }
 
 
 
                ->probe(to_ssam_device(dev));
 }
 
-static int ssam_bus_remove(struct device *dev)
+static void ssam_bus_remove(struct device *dev)
 {
        struct ssam_device_driver *sdrv = to_ssam_device_driver(dev->driver);
 
        if (sdrv->remove)
                sdrv->remove(to_ssam_device(dev));
-
-       return 0;
 }
 
 struct bus_type ssam_bus_type = {
 
        return ret;
 }
 
-static int wmi_dev_remove(struct device *dev)
+static void wmi_dev_remove(struct device *dev)
 {
        struct wmi_block *wblock = dev_to_wblock(dev);
        struct wmi_driver *wdriver =
 
        if (ACPI_FAILURE(wmi_method_enable(wblock, 0)))
                dev_warn(dev, "failed to disable device\n");
-
-       return 0;
 }
 
 static struct class wmi_bus_class = {
 
        return error;
 }
 
-static int pnp_device_remove(struct device *dev)
+static void pnp_device_remove(struct device *dev)
 {
        struct pnp_dev *pnp_dev = to_pnp_dev(dev);
        struct pnp_driver *drv = pnp_dev->driver;
                pnp_disable_dev(pnp_dev);
 
        pnp_device_detach(pnp_dev);
-       return 0;
 }
 
 static void pnp_device_shutdown(struct device *dev)
 
  * driver, then run the driver remove() method.  Then update
  * the reference count.
  */
-static int rio_device_remove(struct device *dev)
+static void rio_device_remove(struct device *dev)
 {
        struct rio_dev *rdev = to_rio_dev(dev);
        struct rio_driver *rdrv = rdev->driver;
        }
 
        rio_dev_put(rdev);
-
-       return 0;
 }
 
 static void rio_device_shutdown(struct device *dev)
 
        return err;
 }
 
-static int rpmsg_dev_remove(struct device *dev)
+static void rpmsg_dev_remove(struct device *dev)
 {
        struct rpmsg_device *rpdev = to_rpmsg_device(dev);
        struct rpmsg_driver *rpdrv = to_rpmsg_driver(rpdev->dev.driver);
-       int err = 0;
 
        if (rpdev->ops->announce_destroy)
-               err = rpdev->ops->announce_destroy(rpdev);
+               rpdev->ops->announce_destroy(rpdev);
 
        if (rpdrv->remove)
                rpdrv->remove(rpdev);
 
        if (rpdev->ept)
                rpmsg_destroy_ept(rpdev->ept);
-
-       return err;
 }
 
 static struct bus_type rpmsg_bus = {
 
 
 /************************** driver stuff ******************************/
 
-static int ccwgroup_remove(struct device *dev)
+static void ccwgroup_remove(struct device *dev)
 {
        struct ccwgroup_device *gdev = to_ccwgroupdev(dev);
        struct ccwgroup_driver *gdrv = to_ccwgroupdrv(dev->driver);
 
        if (gdrv->remove)
                gdrv->remove(gdev);
-
-       return 0;
 }
 
 static void ccwgroup_shutdown(struct device *dev)
 
        return ret;
 }
 
-static int css_remove(struct device *dev)
+static void css_remove(struct device *dev)
 {
        struct subchannel *sch;
 
        if (sch->driver->remove)
                sch->driver->remove(sch);
        sch->driver = NULL;
-
-       return 0;
 }
 
 static void css_shutdown(struct device *dev)
 
        return 0;
 }
 
-static int ccw_device_remove(struct device *dev)
+static void ccw_device_remove(struct device *dev)
 {
        struct ccw_device *cdev = to_ccwdev(dev);
        struct ccw_driver *cdrv = cdev->drv;
        spin_unlock_irq(cdev->ccwlock);
        io_subchannel_quiesce(sch);
        __disable_cmf(cdev);
-
-       return 0;
 }
 
 static void ccw_device_shutdown(struct device *dev)
 
        return scmdrv->probe ? scmdrv->probe(scmdev) : -ENODEV;
 }
 
-static int scmdev_remove(struct device *dev)
+static void scmdev_remove(struct device *dev)
 {
        struct scm_device *scmdev = to_scm_dev(dev);
        struct scm_driver *scmdrv = to_scm_drv(dev->driver);
 
        if (scmdrv->remove)
                scmdrv->remove(scmdev);
-
-       return 0;
 }
 
 static int scmdev_uevent(struct device *dev, struct kobj_uevent_env *env)
 
        return rc;
 }
 
-static int ap_device_remove(struct device *dev)
+static void ap_device_remove(struct device *dev)
 {
        struct ap_device *ap_dev = to_ap_dev(dev);
        struct ap_driver *ap_drv = ap_dev->drv;
        ap_dev->drv = NULL;
 
        put_device(dev);
-
-       return 0;
 }
 
 struct ap_queue *ap_get_qdev(ap_qid_t qid)
 
        return error;
 }
 
-static int sdebug_driver_remove(struct device *dev)
+static void sdebug_driver_remove(struct device *dev)
 {
        struct sdebug_host_info *sdbg_host;
        struct sdebug_dev_info *sdbg_devinfo, *tmp;
        }
 
        scsi_host_put(sdbg_host->shost);
-       return 0;
 }
 
 static int pseudo_lld_bus_match(struct device *dev,
 
        return -ENODEV;
 }
 
-static int superhyway_device_remove(struct device *dev)
+static void superhyway_device_remove(struct device *dev)
 {
        struct superhyway_device *shyway_dev = to_superhyway_device(dev);
        struct superhyway_driver *shyway_drv = to_superhyway_driver(dev->driver);
 
-       if (shyway_drv && shyway_drv->remove) {
+       if (shyway_drv && shyway_drv->remove)
                shyway_drv->remove(shyway_dev);
-               return 0;
-       }
-
-       return -ENODEV;
 }
 
 /**
 
        return sdriver->probe(sdevice);
 }
 
-static int siox_remove(struct device *dev)
+static void siox_remove(struct device *dev)
 {
        struct siox_driver *sdriver =
                container_of(dev->driver, struct siox_driver, driver);
 
        if (sdriver->remove)
                sdriver->remove(sdevice);
-
-       return 0;
 }
 
 static void siox_shutdown(struct device *dev)
 
        return ret;
 }
 
-static int slim_device_remove(struct device *dev)
+static void slim_device_remove(struct device *dev)
 {
        struct slim_device *sbdev = to_slim_device(dev);
        struct slim_driver *sbdrv;
                if (sbdrv->remove)
                        sbdrv->remove(sbdev);
        }
-
-       return 0;
 }
 
 static int slim_device_uevent(struct device *dev, struct kobj_uevent_env *env)
 
        return adrv->probe(adev);
 }
 
-static int apr_device_remove(struct device *dev)
+static void apr_device_remove(struct device *dev)
 {
        struct apr_device *adev = to_apr_device(dev);
        struct apr_driver *adrv;
                idr_remove(&apr->svcs_idr, adev->svc_id);
                spin_unlock(&apr->svcs_lock);
        }
-
-       return 0;
 }
 
 static int apr_uevent(struct device *dev, struct kobj_uevent_env *env)
 
        return ret;
 }
 
-static int spi_remove(struct device *dev)
+static void spi_remove(struct device *dev)
 {
        const struct spi_driver         *sdrv = to_spi_driver(dev->driver);
 
        }
 
        dev_pm_domain_detach(dev, true);
-
-       return 0;
 }
 
 static void spi_shutdown(struct device *dev)
 
        return err;
 }
 
-static int spmi_drv_remove(struct device *dev)
+static void spmi_drv_remove(struct device *dev)
 {
        const struct spmi_driver *sdrv = to_spmi_driver(dev->driver);
 
        pm_runtime_disable(dev);
        pm_runtime_set_suspended(dev);
        pm_runtime_put_noidle(dev);
-       return 0;
 }
 
 static void spmi_drv_shutdown(struct device *dev)
 
                ssb_drv->shutdown(ssb_dev);
 }
 
-static int ssb_device_remove(struct device *dev)
+static void ssb_device_remove(struct device *dev)
 {
        struct ssb_device *ssb_dev = dev_to_ssb_dev(dev);
        struct ssb_driver *ssb_drv = drv_to_ssb_drv(dev->driver);
        if (ssb_drv && ssb_drv->remove)
                ssb_drv->remove(ssb_dev);
        ssb_device_put(ssb_dev);
-
-       return 0;
 }
 
 static int ssb_device_probe(struct device *dev)
 
        return adrv->probe(adev);
 }
 
-static int anybus_bus_remove(struct device *dev)
+static void anybus_bus_remove(struct device *dev)
 {
        struct anybuss_client_driver *adrv =
                to_anybuss_client_driver(dev->driver);
 
        if (adrv->remove)
                adrv->remove(to_anybuss_client(dev));
-
-       return 0;
 }
 
 static struct bus_type anybus_bus = {
 
        return ret;
 }
 
-static int gbphy_dev_remove(struct device *dev)
+static void gbphy_dev_remove(struct device *dev)
 {
        struct gbphy_driver *gbphy_drv = to_gbphy_driver(dev->driver);
        struct gbphy_device *gbphy_dev = to_gbphy_dev(dev);
        pm_runtime_set_suspended(dev);
        pm_runtime_put_noidle(dev);
        pm_runtime_dont_use_autosuspend(dev);
-
-       return 0;
 }
 
 static struct bus_type gbphy_bus_type = {
 
 }
 
 static int tcm_loop_driver_probe(struct device *);
-static int tcm_loop_driver_remove(struct device *);
+static void tcm_loop_driver_remove(struct device *);
 
 static int pseudo_lld_bus_match(struct device *dev,
                                struct device_driver *dev_driver)
        return 0;
 }
 
-static int tcm_loop_driver_remove(struct device *dev)
+static void tcm_loop_driver_remove(struct device *dev)
 {
        struct tcm_loop_hba *tl_hba;
        struct Scsi_Host *sh;
 
        scsi_remove_host(sh);
        scsi_host_put(sh);
-       return 0;
 }
 
 static void tcm_loop_release_adapter(struct device *dev)
 
        return driver->probe(svc, id);
 }
 
-static int tb_service_remove(struct device *dev)
+static void tb_service_remove(struct device *dev)
 {
        struct tb_service *svc = tb_to_service(dev);
        struct tb_service_driver *driver;
        driver = container_of(dev->driver, struct tb_service_driver, driver);
        if (driver->remove)
                driver->remove(svc);
-
-       return 0;
 }
 
 static void tb_service_shutdown(struct device *dev)
 
        return ret;
 }
 
-static int serdev_drv_remove(struct device *dev)
+static void serdev_drv_remove(struct device *dev)
 {
        const struct serdev_device_driver *sdrv = to_serdev_device_driver(dev->driver);
        if (sdrv->remove)
                sdrv->remove(to_serdev_device(dev));
 
        dev_pm_domain_detach(dev, true);
-
-       return 0;
 }
 
 static struct bus_type serdev_bus_type = {
 
        return drv->probe(to_ulpi_dev(dev));
 }
 
-static int ulpi_remove(struct device *dev)
+static void ulpi_remove(struct device *dev)
 {
        struct ulpi_driver *drv = to_ulpi_driver(dev->driver);
 
        if (drv->remove)
                drv->remove(to_ulpi_dev(dev));
-
-       return 0;
 }
 
 static struct bus_type ulpi_bus = {
 
        return retval;
 }
 
-static int usb_serial_device_remove(struct device *dev)
+static void usb_serial_device_remove(struct device *dev)
 {
        struct usb_serial_port *port = to_usb_serial_port(dev);
        struct usb_serial_driver *driver;
 
        if (!autopm_err)
                usb_autopm_put_interface(port->serial->interface);
-
-       return 0;
 }
 
 static ssize_t new_id_store(struct device_driver *driver,
 
        return ret;
 }
 
-static int typec_remove(struct device *dev)
+static void typec_remove(struct device *dev)
 {
        struct typec_altmode_driver *drv = to_altmode_driver(dev->driver);
        struct typec_altmode *adev = to_typec_altmode(dev);
 
        adev->desc = NULL;
        adev->ops = NULL;
-
-       return 0;
 }
 
 struct bus_type typec_bus = {
 
        return ret;
 }
 
-static int vdpa_dev_remove(struct device *d)
+static void vdpa_dev_remove(struct device *d)
 {
        struct vdpa_device *vdev = dev_to_vdpa(d);
        struct vdpa_driver *drv = drv_to_vdpa(vdev->dev.driver);
 
        if (drv && drv->remove)
                drv->remove(vdev);
-
-       return 0;
 }
 
 static struct bus_type vdpa_bus = {
 
        return ret;
 }
 
-static int mdev_remove(struct device *dev)
+static void mdev_remove(struct device *dev)
 {
        struct mdev_driver *drv =
                container_of(dev->driver, struct mdev_driver, driver);
                drv->remove(mdev);
 
        mdev_detach_iommu(mdev);
-
-       return 0;
 }
 
 static int mdev_match(struct device *dev, struct device_driver *drv)
 
 
 }
 
-static int virtio_dev_remove(struct device *_d)
+static void virtio_dev_remove(struct device *_d)
 {
        struct virtio_device *dev = dev_to_virtio(_d);
        struct virtio_driver *drv = drv_to_virtio(dev->dev.driver);
 
        /* Acknowledge the device's existence again. */
        virtio_add_status(dev, VIRTIO_CONFIG_S_ACKNOWLEDGE);
-       return 0;
 }
 
 static struct bus_type virtio_bus = {
 
        return result;
 }
 
-static int vlynq_device_remove(struct device *dev)
+static void vlynq_device_remove(struct device *dev)
 {
        struct vlynq_driver *drv = to_vlynq_driver(dev->driver);
 
        if (drv->remove)
                drv->remove(to_vlynq_device(dev));
-
-       return 0;
 }
 
 int __vlynq_register_driver(struct vlynq_driver *driver, struct module *owner)
 
        return -ENODEV;
 }
 
-static int vme_bus_remove(struct device *dev)
+static void vme_bus_remove(struct device *dev)
 {
        struct vme_driver *driver;
        struct vme_dev *vdev = dev_to_vme_dev(dev);
        driver = dev->platform_data;
        if (driver->remove)
                driver->remove(vdev);
-
-       return 0;
 }
 
 struct bus_type vme_bus_type = {
 
 
 int xenbus_match(struct device *_dev, struct device_driver *_drv);
 int xenbus_dev_probe(struct device *_dev);
-int xenbus_dev_remove(struct device *_dev);
+void xenbus_dev_remove(struct device *_dev);
 int xenbus_register_driver_common(struct xenbus_driver *drv,
                                  struct xen_bus_type *bus,
                                  struct module *owner,
 
 }
 EXPORT_SYMBOL_GPL(xenbus_dev_probe);
 
-int xenbus_dev_remove(struct device *_dev)
+void xenbus_dev_remove(struct device *_dev)
 {
        struct xenbus_device *dev = to_xenbus_device(_dev);
        struct xenbus_driver *drv = to_xenbus_driver(_dev->driver);
        if (!drv->allow_rebind ||
            xenbus_read_driver_state(dev->nodename) == XenbusStateClosing)
                xenbus_switch_state(dev, XenbusStateClosed);
-
-       return 0;
 }
 EXPORT_SYMBOL_GPL(xenbus_dev_remove);
 
 
 }
 
 
-static int zorro_device_remove(struct device *dev)
+static void zorro_device_remove(struct device *dev)
 {
        struct zorro_dev *z = to_zorro_dev(dev);
        struct zorro_driver *drv = to_zorro_driver(dev->driver);
                        drv->remove(z);
                z->driver = NULL;
        }
-       return 0;
 }
 
 
 
        int (*uevent)(struct device *dev, struct kobj_uevent_env *env);
        int (*probe)(struct device *dev);
        void (*sync_state)(struct device *dev);
-       int (*remove)(struct device *dev);
+       void (*remove)(struct device *dev);
        void (*shutdown)(struct device *dev);
 
        int (*online)(struct device *dev);
 
        return ret;
 }
 
-static int ac97_bus_remove(struct device *dev)
+static void ac97_bus_remove(struct device *dev)
 {
        struct ac97_codec_device *adev = to_ac97_device(dev);
        struct ac97_codec_driver *adrv = to_ac97_driver(dev->driver);
 
        ret = pm_runtime_resume_and_get(dev);
        if (ret < 0)
-               return ret;
+               return;
 
        ret = adrv->remove(adev);
        pm_runtime_put_noidle(dev);
                ac97_put_disable_clk(adev);
 
        pm_runtime_disable(dev);
-
-       return ret;
 }
 
 static struct bus_type ac97_bus_type = {
 
        return retval;
 }
 
-static int soundbus_device_remove(struct device *dev)
+static void soundbus_device_remove(struct device *dev)
 {
        struct soundbus_dev * soundbus_dev = to_soundbus_device(dev);
        struct soundbus_driver * drv = to_soundbus_driver(dev->driver);
        if (dev->driver && drv->remove)
                drv->remove(soundbus_dev);
        soundbus_dev_put(soundbus_dev);
-
-       return 0;
 }
 
 static void soundbus_device_shutdown(struct device *dev)