mirror of
https://github.com/torvalds/linux.git
synced 2024-11-28 15:11:31 +00:00
staging: iio: isl29028: move failure logging into isl29028_set_als_scale()
When isl29028_set_als_scale() fails, it was up to both callers to log the failure message. This patch moves the logging into isl29028_set_als_scale() to reduce the overall amount of code in the driver. Signed-off-by: Brian Masney <masneyb@onstation.org> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
This commit is contained in:
parent
ae1e5238f7
commit
bcf5104e27
@ -123,11 +123,22 @@ static int isl29028_enable_proximity(struct isl29028_chip *chip, bool enable)
|
||||
|
||||
static int isl29028_set_als_scale(struct isl29028_chip *chip, int lux_scale)
|
||||
{
|
||||
struct device *dev = regmap_get_device(chip->regmap);
|
||||
int val = (lux_scale == 2000) ? ISL29028_CONF_ALS_RANGE_HIGH_LUX :
|
||||
ISL29028_CONF_ALS_RANGE_LOW_LUX;
|
||||
int ret;
|
||||
|
||||
return regmap_update_bits(chip->regmap, ISL29028_REG_CONFIGURE,
|
||||
ISL29028_CONF_ALS_RANGE_MASK, val);
|
||||
ret = regmap_update_bits(chip->regmap, ISL29028_REG_CONFIGURE,
|
||||
ISL29028_CONF_ALS_RANGE_MASK, val);
|
||||
if (ret < 0) {
|
||||
dev_err(dev, "%s(): Error %d setting the ALS scale\n", __func__,
|
||||
ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
chip->lux_scale = lux_scale;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int isl29028_set_als_ir_mode(struct isl29028_chip *chip,
|
||||
@ -318,13 +329,6 @@ static int isl29028_write_raw(struct iio_dev *indio_dev,
|
||||
}
|
||||
|
||||
ret = isl29028_set_als_scale(chip, val);
|
||||
if (ret < 0) {
|
||||
dev_err(dev,
|
||||
"Setting lux scale fail with error %d\n", ret);
|
||||
break;
|
||||
}
|
||||
|
||||
chip->lux_scale = val;
|
||||
break;
|
||||
default:
|
||||
dev_err(dev, "Unsupported channel type\n");
|
||||
@ -443,10 +447,7 @@ static int isl29028_chip_init_and_power_on(struct isl29028_chip *chip)
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
ret = isl29028_set_als_scale(chip, chip->lux_scale);
|
||||
if (ret < 0)
|
||||
dev_err(dev, "setting als scale failed, err = %d\n", ret);
|
||||
return ret;
|
||||
return isl29028_set_als_scale(chip, chip->lux_scale);
|
||||
}
|
||||
|
||||
static bool isl29028_is_volatile_reg(struct device *dev, unsigned int reg)
|
||||
|
Loading…
Reference in New Issue
Block a user