]> Git Repo - J-linux.git/commitdiff
pwm: omap-dmtimer: Make use of devm_pwmchip_alloc() function
authorUwe Kleine-König <[email protected]>
Wed, 14 Feb 2024 09:32:07 +0000 (10:32 +0100)
committerUwe Kleine-König <[email protected]>
Mon, 19 Feb 2024 10:04:12 +0000 (11:04 +0100)
This prepares the pwm-omap-dmtimer driver to further changes of the pwm
core outlined in the commit introducing devm_pwmchip_alloc(). There is
no intended semantical change and the driver should behave as before.

Link: https://lore.kernel.org/r/78d1448b0fd1136b010f629feffb9d89c853e472.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <[email protected]>
drivers/pwm/pwm-omap-dmtimer.c

index 729d3be2a0134729c4c9c06a688b54eb35fae5ef..cd51c4a938f592f1b6321867e0015b8fe3319057 100644 (file)
 /**
  * struct pwm_omap_dmtimer_chip - Structure representing a pwm chip
  *                               corresponding to omap dmtimer.
- * @chip:              PWM chip structure representing PWM controller
  * @dm_timer:          Pointer to omap dm timer.
  * @pdata:             Pointer to omap dm timer ops.
  * @dm_timer_pdev:     Pointer to omap dm timer platform device
  */
 struct pwm_omap_dmtimer_chip {
-       struct pwm_chip chip;
        /* Mutex to protect pwm apply state */
        struct omap_dm_timer *dm_timer;
        const struct omap_dm_timer_ops *pdata;
@@ -69,7 +67,7 @@ struct pwm_omap_dmtimer_chip {
 static inline struct pwm_omap_dmtimer_chip *
 to_pwm_omap_dmtimer_chip(struct pwm_chip *chip)
 {
-       return container_of(chip, struct pwm_omap_dmtimer_chip, chip);
+       return pwmchip_get_drvdata(chip);
 }
 
 /**
@@ -369,12 +367,12 @@ static int pwm_omap_dmtimer_probe(struct platform_device *pdev)
                goto err_request_timer;
        }
 
-       omap = devm_kzalloc(&pdev->dev, sizeof(*omap), GFP_KERNEL);
-       if (!omap) {
-               ret = -ENOMEM;
+       chip = devm_pwmchip_alloc(&pdev->dev, 1, sizeof(*omap));
+       if (IS_ERR(chip)) {
+               ret = PTR_ERR(chip);
                goto err_alloc_omap;
        }
-       chip = &omap->chip;
+       omap = to_pwm_omap_dmtimer_chip(chip);
 
        omap->pdata = pdata;
        omap->dm_timer = dm_timer;
@@ -394,9 +392,7 @@ static int pwm_omap_dmtimer_probe(struct platform_device *pdev)
        if (!of_property_read_u32(pdev->dev.of_node, "ti,clock-source", &v))
                omap->pdata->set_source(omap->dm_timer, v);
 
-       chip->dev = &pdev->dev;
        chip->ops = &pwm_omap_dmtimer_ops;
-       chip->npwm = 1;
 
        ret = pwmchip_add(chip);
        if (ret < 0) {
This page took 0.049564 seconds and 4 git commands to generate.