mirror of
https://github.com/torvalds/linux.git
synced 2026-11-07 06:17:02 +01:00
iio: light: lm3533-als: Remove redundant pdata helpers
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 <clamor95@gmail.com> Reviewed-by: Jonathan Cameron <jic23@kernel.org> Link: https://patch.msgid.link/20260731113632.158440-6-clamor95@gmail.com Signed-off-by: Lee Jones <lee@kernel.org>
This commit is contained in:
parent
f6420210fb
commit
948c42932e
|
|
@ -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)
|
||||
{
|
||||
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 (ret)
|
||||
return ret;
|
||||
}
|
||||
if (pdata->pwm_mode)
|
||||
return 0;
|
||||
|
||||
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 dev_err_probe(dev, ret, "failed to set resistor\n");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user