[PATCH v3 058/108] pwm: imx27: Make use of devm_pwmchip_alloc() function

Philipp Zabel p.zabel at pengutronix.de
Tue Dec 5 03:49:19 PST 2023


Hi Uwe,

On Di, 2023-11-21 at 14:50 +0100, Uwe Kleine-König wrote:
> This prepares the pwm-imx27 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.
> 
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
> ---
>  drivers/pwm/pwm-imx27.c | 20 +++++++++++---------
>  1 file changed, 11 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/pwm/pwm-imx27.c b/drivers/pwm/pwm-imx27.c
> index 5d796453519a..52ac65e40e35 100644
> --- a/drivers/pwm/pwm-imx27.c
> +++ b/drivers/pwm/pwm-imx27.c
[...]
> @@ -93,7 +92,10 @@ struct pwm_imx27_chip {
>  	unsigned int duty_cycle;
>  };
>  
> -#define to_pwm_imx27_chip(chip)	container_of(chip, struct pwm_imx27_chip, chip)
> +static inline struct pwm_imx27_chip *to_pwm_imx27_chip(struct pwm_chip *chip)
> +{
> +	return pwmchip_priv(chip);
> +}
>  
>  static int pwm_imx27_clk_prepare_enable(struct pwm_imx27_chip *imx)
>  {
> @@ -306,13 +308,15 @@ MODULE_DEVICE_TABLE(of, pwm_imx27_dt_ids);
>  
>  static int pwm_imx27_probe(struct platform_device *pdev)
>  {
> +	struct pwm_chip *chip;
>  	struct pwm_imx27_chip *imx;
>  	int ret;
>  	u32 pwmcr;
>  
> -	imx = devm_kzalloc(&pdev->dev, sizeof(*imx), GFP_KERNEL);
> -	if (imx == NULL)
> -		return -ENOMEM;
> +	chip = devm_pwmchip_alloc(&pdev->dev, 1, sizeof(*imx));
> +	if (IS_ERR(chip))
> +		return PTR_ERR(chip);
> +	imx = pwmchip_priv(chip);

Please use to_pwm_imx27_chip() here. Otherwise,

Reviewed-by: Philipp Zabel <p.zabel at pengutronix.de>

regards
Philipp



More information about the linux-arm-kernel mailing list