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.
Signed-off-by: Svyatoslav Ryhel <[email protected]> --- drivers/iio/light/lm3533-als.c | 51 +++++++++------------------------- 1 file changed, 13 insertions(+), 38 deletions(-) diff --git a/drivers/iio/light/lm3533-als.c b/drivers/iio/light/lm3533-als.c index a9af8e2b965f..c4035d1c8d57 100644 --- a/drivers/iio/light/lm3533-als.c +++ b/drivers/iio/light/lm3533-als.c @@ -708,54 +708,29 @@ static const struct attribute_group lm3533_als_attribute_group = { .attrs = lm3533_als_attributes }; -static int lm3533_als_set_input_mode(struct lm3533_als *als, bool pwm_mode) -{ - int ret; - - ret = regmap_assign_bits(als->regmap, LM3533_REG_ALS_CONF, - LM3533_ALS_INPUT_MODE_MASK, pwm_mode); - if (ret) { - dev_err(&als->pdev->dev, "failed to set input mode %d\n", - pwm_mode); - return ret; - } - - return 0; -} - -static int lm3533_als_set_resistor(struct lm3533_als *als, u8 val) -{ - int ret; - - if (val < LM3533_ALS_RESISTOR_MIN || val > LM3533_ALS_RESISTOR_MAX) { - dev_err(&als->pdev->dev, "invalid resistor value\n"); - return -EINVAL; - } - - ret = regmap_write(als->regmap, LM3533_REG_ALS_RESISTOR_SELECT, - val); - if (ret) { - dev_err(&als->pdev->dev, "failed to set resistor\n"); - return ret; - } - - return 0; -} - 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_assign_bits(als->regmap, LM3533_REG_ALS_CONF, + LM3533_ALS_INPUT_MODE_MASK, pdata->pwm_mode); 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) + return dev_err_probe(dev, -EINVAL, + "invalid resistor value\n"); + + ret = regmap_write(als->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; -- 2.53.0
