return 0;
 }
 
-static int intel_sso_led_remove(struct platform_device *pdev)
+static void intel_sso_led_remove(struct platform_device *pdev)
 {
        struct sso_led_priv *priv;
        struct sso_led *led, *n;
        }
 
        regmap_exit(priv->mmap);
-
-       return 0;
 }
 
 static const struct of_device_id of_sso_led_match[] = {
 
 static struct platform_driver intel_sso_led_driver = {
        .probe          = intel_sso_led_probe,
-       .remove         = intel_sso_led_remove,
+       .remove_new     = intel_sso_led_remove,
        .driver         = {
                        .name = "lgm-ssoled",
                        .of_match_table = of_sso_led_match,
 
        return ret;
 }
 
-static int aat1290_led_remove(struct platform_device *pdev)
+static void aat1290_led_remove(struct platform_device *pdev)
 {
        struct aat1290_led *led = platform_get_drvdata(pdev);
 
        led_classdev_flash_unregister(&led->fled_cdev);
 
        mutex_destroy(&led->lock);
-
-       return 0;
 }
 
 static const struct of_device_id aat1290_led_dt_match[] = {
 
 static struct platform_driver aat1290_led_driver = {
        .probe          = aat1290_led_probe,
-       .remove         = aat1290_led_remove,
+       .remove_new     = aat1290_led_remove,
        .driver         = {
                .name   = "aat1290",
                .of_match_table = aat1290_led_dt_match,
 
        return 0;
 }
 
-static int ktd2692_remove(struct platform_device *pdev)
+static void ktd2692_remove(struct platform_device *pdev)
 {
        struct ktd2692_context *led = platform_get_drvdata(pdev);
 
        led_classdev_flash_unregister(&led->fled_cdev);
 
        mutex_destroy(&led->lock);
-
-       return 0;
 }
 
 static const struct of_device_id ktd2692_match[] = {
                .of_match_table = ktd2692_match,
        },
        .probe  = ktd2692_probe,
-       .remove = ktd2692_remove,
+       .remove_new = ktd2692_remove,
 };
 
 module_platform_driver(ktd2692_driver);
 
        return ret;
 }
 
-static int max77693_led_remove(struct platform_device *pdev)
+static void max77693_led_remove(struct platform_device *pdev)
 {
        struct max77693_led_device *led = platform_get_drvdata(pdev);
        struct max77693_sub_led *sub_leds = led->sub_leds;
        }
 
        mutex_destroy(&led->lock);
-
-       return 0;
 }
 
 static const struct of_device_id max77693_led_dt_match[] = {
 
 static struct platform_driver max77693_led_driver = {
        .probe          = max77693_led_probe,
-       .remove         = max77693_led_remove,
+       .remove_new     = max77693_led_remove,
        .driver         = {
                .name   = "max77693-led",
                .of_match_table = max77693_led_dt_match,
 
        return ret;
 }
 
-static int mt6360_led_remove(struct platform_device *pdev)
+static void mt6360_led_remove(struct platform_device *pdev)
 {
        struct mt6360_priv *priv = platform_get_drvdata(pdev);
 
        mt6360_v4l2_flash_release(priv);
-       return 0;
 }
 
 static const struct of_device_id __maybe_unused mt6360_led_of_id[] = {
                .of_match_table = mt6360_led_of_id,
        },
        .probe = mt6360_led_probe,
-       .remove = mt6360_led_remove,
+       .remove_new = mt6360_led_remove,
 };
 module_platform_driver(mt6360_led_driver);
 
 
        return rc;
 }
 
-static int qcom_flash_led_remove(struct platform_device *pdev)
+static void qcom_flash_led_remove(struct platform_device *pdev)
 {
        struct qcom_flash_data *flash_data = platform_get_drvdata(pdev);
 
                v4l2_flash_release(flash_data->v4l2_flash[flash_data->leds_count--]);
 
        mutex_destroy(&flash_data->lock);
-       return 0;
 }
 
 static const struct of_device_id qcom_flash_led_match_table[] = {
                .of_match_table = qcom_flash_led_match_table,
        },
        .probe = qcom_flash_led_probe,
-       .remove = qcom_flash_led_remove,
+       .remove_new = qcom_flash_led_remove,
 };
 
 module_platform_driver(qcom_flash_led_driver);
 
        return 0;
 }
 
-static int rt8515_remove(struct platform_device *pdev)
+static void rt8515_remove(struct platform_device *pdev)
 {
        struct rt8515 *rt = platform_get_drvdata(pdev);
 
        rt8515_v4l2_flash_release(rt);
        del_timer_sync(&rt->powerdown_timer);
        mutex_destroy(&rt->lock);
-
-       return 0;
 }
 
 static const struct of_device_id rt8515_match[] = {
                .of_match_table = rt8515_match,
        },
        .probe  = rt8515_probe,
-       .remove = rt8515_remove,
+       .remove_new = rt8515_remove,
 };
 module_platform_driver(rt8515_driver);
 
 
        return ret;
 }
 
-static int sgm3140_remove(struct platform_device *pdev)
+static void sgm3140_remove(struct platform_device *pdev)
 {
        struct sgm3140 *priv = platform_get_drvdata(pdev);
 
        del_timer_sync(&priv->powerdown_timer);
 
        v4l2_flash_release(priv->v4l2_flash);
-
-       return 0;
 }
 
 static const struct of_device_id sgm3140_dt_match[] = {
 
 static struct platform_driver sgm3140_driver = {
        .probe  = sgm3140_probe,
-       .remove = sgm3140_remove,
+       .remove_new = sgm3140_remove,
        .driver = {
                .name   = "sgm3140",
                .of_match_table = sgm3140_dt_match,
 
        return 0;
 }
 
-static int pm860x_led_remove(struct platform_device *pdev)
+static void pm860x_led_remove(struct platform_device *pdev)
 {
        struct pm860x_led *data = platform_get_drvdata(pdev);
 
        led_classdev_unregister(&data->cdev);
-
-       return 0;
 }
 
 static struct platform_driver pm860x_led_driver = {
                .name   = "88pm860x-led",
        },
        .probe  = pm860x_led_probe,
-       .remove = pm860x_led_remove,
+       .remove_new = pm860x_led_remove,
 };
 
 module_platform_driver(pm860x_led_driver);
 
        return ret;
 }
 
-static int adp5520_led_remove(struct platform_device *pdev)
+static void adp5520_led_remove(struct platform_device *pdev)
 {
        struct adp5520_leds_platform_data *pdata = dev_get_platdata(&pdev->dev);
        struct adp5520_led *led;
        for (i = 0; i < pdata->num_leds; i++) {
                led_classdev_unregister(&led[i].cdev);
        }
-
-       return 0;
 }
 
 static struct platform_driver adp5520_led_driver = {
                .name   = "adp5520-led",
        },
        .probe          = adp5520_led_probe,
-       .remove         = adp5520_led_remove,
+       .remove_new     = adp5520_led_remove,
 };
 
 module_platform_driver(adp5520_led_driver);
 
        return led_classdev_register(&pdev->dev, &clevo_mail_led);
 }
 
-static int clevo_mail_led_remove(struct platform_device *pdev)
+static void clevo_mail_led_remove(struct platform_device *pdev)
 {
        led_classdev_unregister(&clevo_mail_led);
-       return 0;
 }
 
 static struct platform_driver clevo_mail_led_driver = {
-       .remove         = clevo_mail_led_remove,
+       .remove_new     = clevo_mail_led_remove,
        .driver         = {
                .name           = KBUILD_MODNAME,
        },
 
        return 0;
 }
 
-static int da903x_led_remove(struct platform_device *pdev)
+static void da903x_led_remove(struct platform_device *pdev)
 {
        struct da903x_led *led = platform_get_drvdata(pdev);
 
        led_classdev_unregister(&led->cdev);
-
-       return 0;
 }
 
 static struct platform_driver da903x_led_driver = {
                .name   = "da903x-led",
        },
        .probe          = da903x_led_probe,
-       .remove         = da903x_led_remove,
+       .remove_new     = da903x_led_remove,
 };
 
 module_platform_driver(da903x_led_driver);
 
        return error;
 }
 
-static int da9052_led_remove(struct platform_device *pdev)
+static void da9052_led_remove(struct platform_device *pdev)
 {
        struct da9052_led *led = platform_get_drvdata(pdev);
        struct da9052_pdata *pdata;
                da9052_set_led_brightness(&led[i], LED_OFF);
                led_classdev_unregister(&led[i].cdev);
        }
-
-       return 0;
 }
 
 static struct platform_driver da9052_led_driver = {
                .name   = "da9052-leds",
        },
        .probe          = da9052_led_probe,
-       .remove         = da9052_led_remove,
+       .remove_new     = da9052_led_remove,
 };
 
 module_platform_driver(da9052_led_driver);
 
        return ret;
 }
 
-static int lm3533_led_remove(struct platform_device *pdev)
+static void lm3533_led_remove(struct platform_device *pdev)
 {
        struct lm3533_led *led = platform_get_drvdata(pdev);
 
 
        lm3533_ctrlbank_disable(&led->cb);
        led_classdev_unregister(&led->cdev);
-
-       return 0;
 }
 
 static void lm3533_led_shutdown(struct platform_device *pdev)
                .name = "lm3533-leds",
        },
        .probe          = lm3533_led_probe,
-       .remove         = lm3533_led_remove,
+       .remove_new     = lm3533_led_remove,
        .shutdown       = lm3533_led_shutdown,
 };
 module_platform_driver(lm3533_led_driver);
 
        return ret;
 }
 
-static int mc13xxx_led_remove(struct platform_device *pdev)
+static void mc13xxx_led_remove(struct platform_device *pdev)
 {
        struct mc13xxx_leds *leds = platform_get_drvdata(pdev);
        int i;
 
        for (i = 0; i < leds->num_leds; i++)
                led_classdev_unregister(&leds->led[i].cdev);
-
-       return 0;
 }
 
 static const struct mc13xxx_led_devtype mc13783_led_devtype = {
        .driver = {
                .name   = "mc13xxx-led",
        },
-       .remove         = mc13xxx_led_remove,
+       .remove_new     = mc13xxx_led_remove,
        .id_table       = mc13xxx_led_id_table,
 };
 module_platform_driver_probe(mc13xxx_led_driver, mc13xxx_led_probe);
 
        return mlxreg_led_config(priv);
 }
 
-static int mlxreg_led_remove(struct platform_device *pdev)
+static void mlxreg_led_remove(struct platform_device *pdev)
 {
        struct mlxreg_led_priv_data *priv = dev_get_drvdata(&pdev->dev);
 
        mutex_destroy(&priv->access_lock);
-
-       return 0;
 }
 
 static struct platform_driver mlxreg_led_driver = {
            .name = "leds-mlxreg",
        },
        .probe = mlxreg_led_probe,
-       .remove = mlxreg_led_remove,
+       .remove_new = mlxreg_led_remove,
 };
 
 module_platform_driver(mlxreg_led_driver);
 
        return ret;
 }
 
-static int mt6323_led_remove(struct platform_device *pdev)
+static void mt6323_led_remove(struct platform_device *pdev)
 {
        struct mt6323_leds *leds = platform_get_drvdata(pdev);
        const struct mt6323_regs *regs = leds->pdata->regs;
                           RG_DRV_32K_CK_PDN);
 
        mutex_destroy(&leds->lock);
-
-       return 0;
 }
 
 static const struct mt6323_regs mt6323_registers = {
 
 static struct platform_driver mt6323_led_driver = {
        .probe          = mt6323_led_probe,
-       .remove         = mt6323_led_remove,
+       .remove_new     = mt6323_led_remove,
        .driver         = {
                .name   = "mt6323-led",
                .of_match_table = mt6323_led_dt_match,
 
        return ret;
 }
 
-static int nic78bx_remove(struct platform_device *pdev)
+static void nic78bx_remove(struct platform_device *pdev)
 {
        struct nic78bx_led_data *led_data = platform_get_drvdata(pdev);
 
        /* Lock LED register */
        outb(NIC78BX_LOCK_VALUE,
             led_data->io_base + NIC78BX_LOCK_REG_OFFSET);
-
-       return 0;
 }
 
 static const struct acpi_device_id led_device_ids[] = {
 
 static struct platform_driver led_driver = {
        .probe = nic78bx_probe,
-       .remove = nic78bx_remove,
+       .remove_new = nic78bx_remove,
        .driver = {
                .name = KBUILD_MODNAME,
                .acpi_match_table = ACPI_PTR(led_device_ids),
 
 }
 
 /* Platform driver remove */
-static int powernv_led_remove(struct platform_device *pdev)
+static void powernv_led_remove(struct platform_device *pdev)
 {
        struct powernv_led_common *powernv_led_common;
 
        mutex_destroy(&powernv_led_common->lock);
 
        dev_info(&pdev->dev, "PowerNV led module unregistered\n");
-       return 0;
 }
 
 /* Platform driver property match */
 
 static struct platform_driver powernv_led_driver = {
        .probe  = powernv_led_probe,
-       .remove = powernv_led_remove,
+       .remove_new = powernv_led_remove,
        .driver = {
                .name = "powernv-led-driver",
                .of_match_table = powernv_led_match,
 
        return led_classdev_register(&pdev->dev, &rb532_uled);
 }
 
-static int rb532_led_remove(struct platform_device *pdev)
+static void rb532_led_remove(struct platform_device *pdev)
 {
        led_classdev_unregister(&rb532_uled);
-       return 0;
 }
 
 static struct platform_driver rb532_led_driver = {
        .probe = rb532_led_probe,
-       .remove = rb532_led_remove,
+       .remove_new = rb532_led_remove,
        .driver = {
                .name = "rb532-led",
        },
 
        return 0;
 }
 
-static int regulator_led_remove(struct platform_device *pdev)
+static void regulator_led_remove(struct platform_device *pdev)
 {
        struct regulator_led *led = platform_get_drvdata(pdev);
 
        led_classdev_unregister(&led->cdev);
        regulator_led_disable(led);
-       return 0;
 }
 
 static const struct of_device_id regulator_led_of_match[] = {
                .of_match_table = regulator_led_of_match,
        },
        .probe  = regulator_led_probe,
-       .remove = regulator_led_remove,
+       .remove_new = regulator_led_remove,
 };
 
 module_platform_driver(regulator_led_driver);
 
        return err;
 }
 
-static int sc27xx_led_remove(struct platform_device *pdev)
+static void sc27xx_led_remove(struct platform_device *pdev)
 {
        struct sc27xx_led_priv *priv = platform_get_drvdata(pdev);
 
        mutex_destroy(&priv->lock);
-       return 0;
 }
 
 static const struct of_device_id sc27xx_led_of_match[] = {
                .of_match_table = sc27xx_led_of_match,
        },
        .probe = sc27xx_led_probe,
-       .remove = sc27xx_led_remove,
+       .remove_new = sc27xx_led_remove,
 };
 
 module_platform_driver(sc27xx_led_driver);
 
        return 0;
 }
 
-static int sunfire_led_generic_remove(struct platform_device *pdev)
+static void sunfire_led_generic_remove(struct platform_device *pdev)
 {
        struct sunfire_drvdata *p = platform_get_drvdata(pdev);
        int i;
 
        for (i = 0; i < NUM_LEDS_PER_BOARD; i++)
                led_classdev_unregister(&p->leds[i].led_cdev);
-
-       return 0;
 }
 
 static struct led_type clockboard_led_types[NUM_LEDS_PER_BOARD] = {
 
 static struct platform_driver sunfire_clockboard_led_driver = {
        .probe          = sunfire_clockboard_led_probe,
-       .remove         = sunfire_led_generic_remove,
+       .remove_new     = sunfire_led_generic_remove,
        .driver         = {
                .name   = "sunfire-clockboard-leds",
        },
 
 static struct platform_driver sunfire_fhc_led_driver = {
        .probe          = sunfire_fhc_led_probe,
-       .remove         = sunfire_led_generic_remove,
+       .remove_new     = sunfire_led_generic_remove,
        .driver         = {
                .name   = "sunfire-fhc-leds",
        },
 
        return 0;
 }
 
-static int wm831x_status_remove(struct platform_device *pdev)
+static void wm831x_status_remove(struct platform_device *pdev)
 {
        struct wm831x_status *drvdata = platform_get_drvdata(pdev);
 
        led_classdev_unregister(&drvdata->cdev);
-
-       return 0;
 }
 
 static struct platform_driver wm831x_status_driver = {
                   .name = "wm831x-status",
                   },
        .probe = wm831x_status_probe,
-       .remove = wm831x_status_remove,
+       .remove_new = wm831x_status_remove,
 };
 
 module_platform_driver(wm831x_status_driver);
 
        return led_classdev_register(&pdev->dev, &led->cdev);
 }
 
-static int wm8350_led_remove(struct platform_device *pdev)
+static void wm8350_led_remove(struct platform_device *pdev)
 {
        struct wm8350_led *led = platform_get_drvdata(pdev);
 
        led_classdev_unregister(&led->cdev);
        wm8350_led_disable(led);
-       return 0;
 }
 
 static struct platform_driver wm8350_led_driver = {
                   .name = "wm8350-led",
                   },
        .probe = wm8350_led_probe,
-       .remove = wm8350_led_remove,
+       .remove_new = wm8350_led_remove,
        .shutdown = wm8350_led_shutdown,
 };
 
 
        return lpg_add_pwm(lpg);
 }
 
-static int lpg_remove(struct platform_device *pdev)
+static void lpg_remove(struct platform_device *pdev)
 {
        struct lpg *lpg = platform_get_drvdata(pdev);
 
        pwmchip_remove(&lpg->pwm);
-
-       return 0;
 }
 
 static const struct lpg_data pm8916_pwm_data = {
 
 static struct platform_driver lpg_driver = {
        .probe = lpg_probe,
-       .remove = lpg_remove,
+       .remove_new = lpg_remove,
        .driver = {
                .name = "qcom-spmi-lpg",
                .of_match_table = lpg_of_table,