2021-09-06 10:43:38

by zhaoxiao

[permalink] [raw]
Subject: [PATCH] pwm: mediatek: Simplify using devm_pwmchip_add()

With devm_pwmchip_add() we can drop pwmchip_remove() from the device
remove callback. The latter can then go away, too and as this is the
only user of platform_get_drvdata(), the respective call to
platform_set_drvdata() can go, too.

Signed-off-by: zhaoxiao <[email protected]>
---
drivers/pwm/pwm-mediatek.c | 12 +-----------
1 file changed, 1 insertion(+), 11 deletions(-)

diff --git a/drivers/pwm/pwm-mediatek.c b/drivers/pwm/pwm-mediatek.c
index b4a31060bcd7..0d4dd80e9f07 100644
--- a/drivers/pwm/pwm-mediatek.c
+++ b/drivers/pwm/pwm-mediatek.c
@@ -253,13 +253,11 @@ static int pwm_mediatek_probe(struct platform_device *pdev)
}
}

- platform_set_drvdata(pdev, pc);
-
pc->chip.dev = &pdev->dev;
pc->chip.ops = &pwm_mediatek_ops;
pc->chip.npwm = pc->soc->num_pwms;

- ret = pwmchip_add(&pc->chip);
+ ret = devm_pwmchip_add(&pdev->dev, &pc->chip);
if (ret < 0) {
dev_err(&pdev->dev, "pwmchip_add() failed: %d\n", ret);
return ret;
@@ -268,13 +266,6 @@ static int pwm_mediatek_probe(struct platform_device *pdev)
return 0;
}

-static int pwm_mediatek_remove(struct platform_device *pdev)
-{
- struct pwm_mediatek_chip *pc = platform_get_drvdata(pdev);
-
- return pwmchip_remove(&pc->chip);
-}
-
static const struct pwm_mediatek_of_data mt2712_pwm_data = {
.num_pwms = 8,
.pwm45_fixup = false,
@@ -335,7 +326,6 @@ static struct platform_driver pwm_mediatek_driver = {
.of_match_table = pwm_mediatek_of_match,
},
.probe = pwm_mediatek_probe,
- .remove = pwm_mediatek_remove,
};
module_platform_driver(pwm_mediatek_driver);

--
2.20.1


2021-09-07 09:53:43

by Uwe Kleine-König

[permalink] [raw]
Subject: Re: [PATCH] pwm: mediatek: Simplify using devm_pwmchip_add()

Hello,

On Mon, Sep 06, 2021 at 05:30:30PM +0800, zhaoxiao wrote:
> With devm_pwmchip_add() we can drop pwmchip_remove() from the device
> remove callback. The latter can then go away, too and as this is the
> only user of platform_get_drvdata(), the respective call to
> platform_set_drvdata() can go, too.
>
> Signed-off-by: zhaoxiao <[email protected]>
> ---
> drivers/pwm/pwm-mediatek.c | 12 +-----------
> 1 file changed, 1 insertion(+), 11 deletions(-)
>
> diff --git a/drivers/pwm/pwm-mediatek.c b/drivers/pwm/pwm-mediatek.c
> index b4a31060bcd7..0d4dd80e9f07 100644
> --- a/drivers/pwm/pwm-mediatek.c
> +++ b/drivers/pwm/pwm-mediatek.c
> @@ -253,13 +253,11 @@ static int pwm_mediatek_probe(struct platform_device *pdev)
> }
> }
>
> - platform_set_drvdata(pdev, pc);
> -
> pc->chip.dev = &pdev->dev;
> pc->chip.ops = &pwm_mediatek_ops;
> pc->chip.npwm = pc->soc->num_pwms;
>
> - ret = pwmchip_add(&pc->chip);
> + ret = devm_pwmchip_add(&pdev->dev, &pc->chip);
> if (ret < 0) {
> dev_err(&pdev->dev, "pwmchip_add() failed: %d\n", ret);
> return ret;
> @@ -268,13 +266,6 @@ static int pwm_mediatek_probe(struct platform_device *pdev)
> return 0;
> }
>
> -static int pwm_mediatek_remove(struct platform_device *pdev)
> -{
> - struct pwm_mediatek_chip *pc = platform_get_drvdata(pdev);
> -
> - return pwmchip_remove(&pc->chip);
> -}
> -
> static const struct pwm_mediatek_of_data mt2712_pwm_data = {
> .num_pwms = 8,
> .pwm45_fixup = false,
> @@ -335,7 +326,6 @@ static struct platform_driver pwm_mediatek_driver = {
> .of_match_table = pwm_mediatek_of_match,
> },
> .probe = pwm_mediatek_probe,
> - .remove = pwm_mediatek_remove,
> };
> module_platform_driver(pwm_mediatek_driver);

A patch like this is already in next, see e0150252a6437d12de3db84bb3af12bd5aa5cc70

Best regards
Uwe

--
Pengutronix e.K. | Uwe Kleine-K?nig |
Industrial Linux Solutions | https://www.pengutronix.de/ |


Attachments:
(No filename) (2.01 kB)
signature.asc (499.00 B)
Download all attachments