[PATCH v2 13/15] staging: iio: isl29028: only set proximity sampling rate when proximity is enabled

Jonathan Cameron jic23 at kernel.org
Sat Jan 21 14:49:36 UTC 2017


On 17/01/17 09:25, Brian Masney wrote:
> 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.
> 
Logical.  Applied.
> Signed-off-by: Brian Masney <masneyb at onstation.org>
> ---
>  drivers/staging/iio/light/isl29028.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/staging/iio/light/isl29028.c b/drivers/staging/iio/light/isl29028.c
> index f1b3651..fa58d08 100644
> --- a/drivers/staging/iio/light/isl29028.c
> +++ b/drivers/staging/iio/light/isl29028.c
> @@ -107,6 +107,10 @@ static int isl29028_enable_proximity(struct isl29028_chip *chip)
>  {
>  	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,
>  				 ISL29028_CONF_PROX_EN_MASK,
>  				 ISL29028_CONF_PROX_EN);
> @@ -449,10 +453,6 @@ static int isl29028_chip_init_and_power_on(struct isl29028_chip *chip)
>  		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);
>  }
>  
> 



More information about the devel mailing list