]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
pwm: lpc32xx: Simplify using devm_pwmchip_add()
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Wed, 7 Jul 2021 16:28:10 +0000 (18:28 +0200)
committerThierry Reding <thierry.reding@gmail.com>
Thu, 2 Sep 2021 19:38:44 +0000 (21:38 +0200)
This allows to drop the platform_driver's remove function. This is the
only user of driver data so this can go away, too.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
drivers/pwm/pwm-lpc32xx.c

index 719e8e91365692cb1dc368faea1f61ae1b54f1f3..ddeab5687cb81440916988f043ff7ff27bc57daa 100644 (file)
@@ -122,24 +122,15 @@ static int lpc32xx_pwm_probe(struct platform_device *pdev)
        val &= ~PWM_PIN_LEVEL;
        writel(val, lpc32xx->base + (lpc32xx->chip.pwms[0].hwpwm << 2));
 
-       ret = pwmchip_add(&lpc32xx->chip);
+       ret = devm_pwmchip_add(&pdev->dev, &lpc32xx->chip);
        if (ret < 0) {
                dev_err(&pdev->dev, "failed to add PWM chip, error %d\n", ret);
                return ret;
        }
 
-       platform_set_drvdata(pdev, lpc32xx);
-
        return 0;
 }
 
-static int lpc32xx_pwm_remove(struct platform_device *pdev)
-{
-       struct lpc32xx_pwm_chip *lpc32xx = platform_get_drvdata(pdev);
-
-       return pwmchip_remove(&lpc32xx->chip);
-}
-
 static const struct of_device_id lpc32xx_pwm_dt_ids[] = {
        { .compatible = "nxp,lpc3220-pwm", },
        { /* sentinel */ }
@@ -152,7 +143,6 @@ static struct platform_driver lpc32xx_pwm_driver = {
                .of_match_table = lpc32xx_pwm_dt_ids,
        },
        .probe = lpc32xx_pwm_probe,
-       .remove = lpc32xx_pwm_remove,
 };
 module_platform_driver(lpc32xx_pwm_driver);