staging: iio: isl29028: only set proximity sampling rate when proximity is enabled
isl29028_chip_init_and_power_on() calls isl29028_set_proxim_sampling() and this is not needed until the user actually needs to take a proximity reading. This patch moves the isl29028_set_proxim_sampling() call from isl29028_chip_init_and_power_on() to isl29028_enable_proximity(). This sets the stage for faster resume times from the runtime power management if the user is only querying the ALS/IR sensor. Signed-off-by: Brian Masney <masneyb@onstation.org> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
This commit is contained in:
parent
6766342441
commit
84a76694bc
|
@ -107,6 +107,10 @@ static int isl29028_enable_proximity(struct isl29028_chip *chip)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
ret = isl29028_set_proxim_sampling(chip, chip->prox_sampling);
|
||||||
|
if (ret < 0)
|
||||||
|
return ret;
|
||||||
|
|
||||||
ret = regmap_update_bits(chip->regmap, ISL29028_REG_CONFIGURE,
|
ret = regmap_update_bits(chip->regmap, ISL29028_REG_CONFIGURE,
|
||||||
ISL29028_CONF_PROX_EN_MASK,
|
ISL29028_CONF_PROX_EN_MASK,
|
||||||
ISL29028_CONF_PROX_EN);
|
ISL29028_CONF_PROX_EN);
|
||||||
|
@ -449,10 +453,6 @@ static int isl29028_chip_init_and_power_on(struct isl29028_chip *chip)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = isl29028_set_proxim_sampling(chip, chip->prox_sampling);
|
|
||||||
if (ret < 0)
|
|
||||||
return ret;
|
|
||||||
|
|
||||||
return isl29028_set_als_scale(chip, chip->lux_scale);
|
return isl29028_set_als_scale(chip, chip->lux_scale);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue