On 04/12/16 02:19, Brian Masney wrote: > isl29028_enable_proximity() has a boolean argument named enable. This > function is only called once and the enable flag is set to true in that > call. This patch removes the enable parameter from that function. > > Signed-off-by: Brian Masney <masneyb@xxxxxxxxxxxxx> The first thing that strikes me about this, is why do we have an enable only function? I think the intention was probably that we also disable the proximity sensing after the reading was done... Ideally we'd do this a little more cleverly, perhaps using runtime pm so that if someone is requesting a stream of proximity measurements, we won't end up powering up and down each time. It's a little 'interesting' as we would want to power this element down even if we do have a continuous stream of reads on the ALS. As such we may need to roll our own equivalent of runtime pm. In the first instance, I'd just put a disable after the reading is taken. This will make a bit of a mockery of the faster sampling frequencies but there we are! Jonathan > --- > drivers/staging/iio/light/isl29028.c | 10 ++++------ > 1 file changed, 4 insertions(+), 6 deletions(-) > > diff --git a/drivers/staging/iio/light/isl29028.c b/drivers/staging/iio/light/isl29028.c > index 4e35d00..c8e234d 100644 > --- a/drivers/staging/iio/light/isl29028.c > +++ b/drivers/staging/iio/light/isl29028.c > @@ -93,15 +93,13 @@ static int isl29028_set_proxim_sampling(struct isl29028_chip *chip, > sel << ISL29028_CONF_PROX_SLP_SH); > } > > -static int isl29028_enable_proximity(struct isl29028_chip *chip, bool enable) > +static int isl29028_enable_proximity(struct isl29028_chip *chip) > { > int ret; > - int val = 0; > > - if (enable) > - val = ISL29028_CONF_PROX_EN; > ret = regmap_update_bits(chip->regmap, ISL29028_REG_CONFIGURE, > - ISL29028_CONF_PROX_EN_MASK, val); > + ISL29028_CONF_PROX_EN_MASK, > + ISL29028_CONF_PROX_EN); > if (ret < 0) > return ret; > > @@ -215,7 +213,7 @@ static int isl29028_proxim_get(struct isl29028_chip *chip, int *prox_data) > int ret; > > if (!chip->enable_prox) { > - ret = isl29028_enable_proximity(chip, true); > + ret = isl29028_enable_proximity(chip); > if (ret < 0) > return ret; > chip->enable_prox = true; > _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel