Re: [PATCH] pwm: axi-pwmgen: Create a dedicated function for getting driver data from a chip

From: Nuno Sá
Date: Tue Sep 24 2024 - 03:07:46 EST


On Mon, 2024-09-23 at 14:54 +0200, Uwe Kleine-König wrote:
> Compared to direct calls to pwmchip_get_drvdata() a dedicated function
> has two upsides: A better name and the right type. So the code becomes
> easier to read and the new function is harder to use wrongly.
>
> Another side effect (which is the secret motivation for this patch, but
> shhh) is that the driver becomes a bit easier to backport to kernel
> versions that don't have devm_pwmchip_alloc() yet.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxx>
> ---

Reviewed-by: Nuno Sa <nuno.sa@xxxxxxxxxx>

>  drivers/pwm/pwm-axi-pwmgen.c | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/pwm/pwm-axi-pwmgen.c b/drivers/pwm/pwm-axi-pwmgen.c
> index b5477659ba18..e5162f3e511e 100644
> --- a/drivers/pwm/pwm-axi-pwmgen.c
> +++ b/drivers/pwm/pwm-axi-pwmgen.c
> @@ -53,10 +53,15 @@ static const struct regmap_config axi_pwmgen_regmap_config = {
>   .max_register = 0xFC,
>  };
>  
> +static struct axi_pwmgen_ddata axi_pwmgen_ddata_from_chip(struct pwm_chip *chip)
> +{
> + return pwmchip_get_drvdata(chip);
> +}
> +
>  static int axi_pwmgen_apply(struct pwm_chip *chip, struct pwm_device *pwm,
>       const struct pwm_state *state)
>  {
> - struct axi_pwmgen_ddata *ddata = pwmchip_get_drvdata(chip);
> + struct axi_pwmgen_ddata *ddata = axi_pwmgen_ddata_from_chip(chip);
>   unsigned int ch = pwm->hwpwm;
>   struct regmap *regmap = ddata->regmap;
>   u64 period_cnt, duty_cnt;
> @@ -100,7 +105,7 @@ static int axi_pwmgen_apply(struct pwm_chip *chip, struct
> pwm_device *pwm,
>  static int axi_pwmgen_get_state(struct pwm_chip *chip, struct pwm_device *pwm,
>   struct pwm_state *state)
>  {
> - struct axi_pwmgen_ddata *ddata = pwmchip_get_drvdata(chip);
> + struct axi_pwmgen_ddata *ddata = axi_pwmgen_ddata_from_chip(chip);
>   struct regmap *regmap = ddata->regmap;
>   unsigned int ch = pwm->hwpwm;
>   u32 cnt;
>
> base-commit: 62f92d634458a1e308bb699986b9147a6d670457