]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
pwm: twl-led: Simplify using devm_pwmchip_add()
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Wed, 7 Jul 2021 16:28:19 +0000 (18:28 +0200)
committerThierry Reding <thierry.reding@gmail.com>
Thu, 2 Sep 2021 19:38:48 +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-twl-led.c

index 6c8df5f4e87d660dd57a8ef3b79ff7b1fb9cb57c..49d9f7a780121ea71a188865b7972b2662386c8c 100644 (file)
@@ -276,7 +276,6 @@ static const struct pwm_ops twl6030_pwmled_ops = {
 static int twl_pwmled_probe(struct platform_device *pdev)
 {
        struct twl_pwmled_chip *twl;
-       int ret;
 
        twl = devm_kzalloc(&pdev->dev, sizeof(*twl), GFP_KERNEL);
        if (!twl)
@@ -294,20 +293,7 @@ static int twl_pwmled_probe(struct platform_device *pdev)
 
        mutex_init(&twl->mutex);
 
-       ret = pwmchip_add(&twl->chip);
-       if (ret < 0)
-               return ret;
-
-       platform_set_drvdata(pdev, twl);
-
-       return 0;
-}
-
-static int twl_pwmled_remove(struct platform_device *pdev)
-{
-       struct twl_pwmled_chip *twl = platform_get_drvdata(pdev);
-
-       return pwmchip_remove(&twl->chip);
+       return devm_pwmchip_add(&pdev->dev, &twl->chip);
 }
 
 #ifdef CONFIG_OF
@@ -325,7 +311,6 @@ static struct platform_driver twl_pwmled_driver = {
                .of_match_table = of_match_ptr(twl_pwmled_of_match),
        },
        .probe = twl_pwmled_probe,
-       .remove = twl_pwmled_remove,
 };
 module_platform_driver(twl_pwmled_driver);