Commit f988b819 authored by Uwe Kleine-König's avatar Uwe Kleine-König

pwm: omap-dmtimer: Make use of devm_pwmchip_alloc() function

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.deSigned-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
parent 623a9594
...@@ -53,13 +53,11 @@ ...@@ -53,13 +53,11 @@
/** /**
* struct pwm_omap_dmtimer_chip - Structure representing a pwm chip * struct pwm_omap_dmtimer_chip - Structure representing a pwm chip
* corresponding to omap dmtimer. * corresponding to omap dmtimer.
* @chip: PWM chip structure representing PWM controller
* @dm_timer: Pointer to omap dm timer. * @dm_timer: Pointer to omap dm timer.
* @pdata: Pointer to omap dm timer ops. * @pdata: Pointer to omap dm timer ops.
* @dm_timer_pdev: Pointer to omap dm timer platform device * @dm_timer_pdev: Pointer to omap dm timer platform device
*/ */
struct pwm_omap_dmtimer_chip { struct pwm_omap_dmtimer_chip {
struct pwm_chip chip;
/* Mutex to protect pwm apply state */ /* Mutex to protect pwm apply state */
struct omap_dm_timer *dm_timer; struct omap_dm_timer *dm_timer;
const struct omap_dm_timer_ops *pdata; const struct omap_dm_timer_ops *pdata;
...@@ -69,7 +67,7 @@ struct pwm_omap_dmtimer_chip { ...@@ -69,7 +67,7 @@ struct pwm_omap_dmtimer_chip {
static inline struct pwm_omap_dmtimer_chip * static inline struct pwm_omap_dmtimer_chip *
to_pwm_omap_dmtimer_chip(struct pwm_chip *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) ...@@ -369,12 +367,12 @@ static int pwm_omap_dmtimer_probe(struct platform_device *pdev)
goto err_request_timer; goto err_request_timer;
} }
omap = devm_kzalloc(&pdev->dev, sizeof(*omap), GFP_KERNEL); chip = devm_pwmchip_alloc(&pdev->dev, 1, sizeof(*omap));
if (!omap) { if (IS_ERR(chip)) {
ret = -ENOMEM; ret = PTR_ERR(chip);
goto err_alloc_omap; goto err_alloc_omap;
} }
chip = &omap->chip; omap = to_pwm_omap_dmtimer_chip(chip);
omap->pdata = pdata; omap->pdata = pdata;
omap->dm_timer = dm_timer; omap->dm_timer = dm_timer;
...@@ -394,9 +392,7 @@ static int pwm_omap_dmtimer_probe(struct platform_device *pdev) ...@@ -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)) if (!of_property_read_u32(pdev->dev.of_node, "ti,clock-source", &v))
omap->pdata->set_source(omap->dm_timer, v); omap->pdata->set_source(omap->dm_timer, v);
chip->dev = &pdev->dev;
chip->ops = &pwm_omap_dmtimer_ops; chip->ops = &pwm_omap_dmtimer_ops;
chip->npwm = 1;
ret = pwmchip_add(chip); ret = pwmchip_add(chip);
if (ret < 0) { if (ret < 0) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment