pwm: intel-lgm: Simplify using devm_pwmchip_add()
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Wed, 7 Jul 2021 16:28:05 +0000 (18:28 +0200)
committerThierry Reding <thierry.reding@gmail.com>
Thu, 2 Sep 2021 19:38:42 +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-intel-lgm.c

index 015f5eba09a1f90c0b368960da411e12a04ff3f3..b66c350740870e390c6c4e41eeba1b056adc20f8 100644 (file)
@@ -176,8 +176,6 @@ static int lgm_pwm_probe(struct platform_device *pdev)
        if (!pc)
                return -ENOMEM;
 
-       platform_set_drvdata(pdev, pc);
-
        io_base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(io_base))
                return PTR_ERR(io_base);
@@ -210,20 +208,13 @@ static int lgm_pwm_probe(struct platform_device *pdev)
 
        lgm_pwm_init(pc);
 
-       ret = pwmchip_add(&pc->chip);
+       ret = devm_pwmchip_add(dev, &pc->chip);
        if (ret < 0)
                return dev_err_probe(dev, ret, "failed to add PWM chip\n");
 
        return 0;
 }
 
-static int lgm_pwm_remove(struct platform_device *pdev)
-{
-       struct lgm_pwm_chip *pc = platform_get_drvdata(pdev);
-
-       return pwmchip_remove(&pc->chip);
-}
-
 static const struct of_device_id lgm_pwm_of_match[] = {
        { .compatible = "intel,lgm-pwm" },
        { }
@@ -236,7 +227,6 @@ static struct platform_driver lgm_pwm_driver = {
                .of_match_table = lgm_pwm_of_match,
        },
        .probe = lgm_pwm_probe,
-       .remove = lgm_pwm_remove,
 };
 module_platform_driver(lgm_pwm_driver);