On Mon,  1 Jun 2026 18:18:23 +0300
Svyatoslav Ryhel <[email protected]> wrote:

> The lm3533_als_set_input_mode and lm3533_als_set_resistor functions are
> used only in lm3533_als_setup. Incorporate their code into
> lm3533_als_setup directly to simplify driver readability.
Minor stuff inline.


> 
> Signed-off-by: Svyatoslav Ryhel <[email protected]>
> ---
>  drivers/iio/light/lm3533-als.c | 61 +++++++++-------------------------
>  1 file changed, 16 insertions(+), 45 deletions(-)
> 
> diff --git a/drivers/iio/light/lm3533-als.c b/drivers/iio/light/lm3533-als.c
> index fb61904f110f..52136ca1abc9 100644
> --- a/drivers/iio/light/lm3533-als.c
> +++ b/drivers/iio/light/lm3533-als.c

>  static int lm3533_als_setup(struct lm3533_als *als,
>                           const struct lm3533_als_platform_data *pdata)
>  {
> +     struct device *dev = &als->pdev->dev;
>       int ret;
>  
> -     ret = lm3533_als_set_input_mode(als, pdata->pwm_mode);
> +     ret = regmap_update_bits(als->lm3533->regmap, LM3533_REG_ALS_CONF,

Maybe a local struct regmap pointer given dereferenced in a couple of places.

> +                              LM3533_ALS_INPUT_MODE_MASK,
> +                              pdata->pwm_mode ? LM3533_ALS_INPUT_MODE_MASK : 
> 0);

Andy raised this in previous patch but in the interests of being specific
regmap_assign_bits() is going to be cleaner here.

>       if (ret)
> -             return ret;
> +             return dev_err_probe(dev, ret, "failed to set input mode %d\n",
> +                                  pdata->pwm_mode);
> +
>  
>       /* ALS input is always high impedance in PWM-mode. */
>       if (!pdata->pwm_mode) {
> -             ret = lm3533_als_set_resistor(als, pdata->r_select);
> +             if (pdata->r_select < LM3533_ALS_RESISTOR_MIN ||
> +                 pdata->r_select > LM3533_ALS_RESISTOR_MAX) {
> +                     dev_err(&als->pdev->dev, "invalid resistor value\n");
> +                     return -EINVAL;
> +             }
> +
> +             ret = regmap_write(als->lm3533->regmap, 
> LM3533_REG_ALS_RESISTOR_SELECT,
> +                                pdata->r_select);
>               if (ret)
> -                     return ret;
> +                     return dev_err_probe(dev, ret, "failed to set 
> resistor\n");
>       }
>  
>       return 0;

Reply via email to