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 | 56 ++++++++++------------------------ 1 file changed, 16 insertions(+), 40 deletions(-) diff --git a/drivers/iio/light/lm3533-als.c b/drivers/iio/light/lm3533-als.c index a9af8e2b965f..69bac1b202f1 100644 --- a/drivers/iio/light/lm3533-als.c +++ b/drivers/iio/light/lm3533-als.c @@ -708,55 +708,31 @@ 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) +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 = 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; -} + LM3533_ALS_INPUT_MODE_MASK, pdata->pwm_mode); + if (ret) + return dev_err_probe(dev, ret, "failed to set input mode %d\n", + pdata->pwm_mode); -static int lm3533_als_set_resistor(struct lm3533_als *als, u8 val) -{ - int ret; + /* Bail out when in PWM-mode */ + if (pdata->pwm_mode) + return 0; - if (val < LM3533_ALS_RESISTOR_MIN || val > LM3533_ALS_RESISTOR_MAX) { - dev_err(&als->pdev->dev, "invalid resistor value\n"); - return -EINVAL; - } + 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, - 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) -{ - int ret; - - ret = lm3533_als_set_input_mode(als, pdata->pwm_mode); + pdata->r_select); if (ret) - return ret; - - /* ALS input is always high impedance in PWM-mode. */ - if (!pdata->pwm_mode) { - ret = lm3533_als_set_resistor(als, pdata->r_select); - if (ret) - return ret; - } + return dev_err_probe(dev, ret, "failed to set resistor\n"); return 0; } -- 2.53.0
