On 14/12/15 12:24, Adriana Reus wrote: > When setting als only or proximity only modes make sure that we mark the > other component as disabled. This fix is in preparation of adding event > support because that will make it possible to switch between one-shot and > continuous modes and not tracking these correctly may cause faulty > behaviour (e.g wrongfully considering px enabled and not setting an > appropriate mode in the chip). > > Signed-off-by: Adriana Reus <adriana.reus@xxxxxxxxx> Applied to the togreg branch of iio.git - initially pushed out as testing for the autobuilders to play with it. Thanks, Jonathan > --- > Chattier commit message, no other changes > > drivers/iio/light/us5182d.c | 16 ++++++++++++---- > 1 file changed, 12 insertions(+), 4 deletions(-) > > diff --git a/drivers/iio/light/us5182d.c b/drivers/iio/light/us5182d.c > index 256c4bc..f24b687 100644 > --- a/drivers/iio/light/us5182d.c > +++ b/drivers/iio/light/us5182d.c > @@ -238,8 +238,12 @@ static int us5182d_als_enable(struct us5182d_data *data) > int ret; > u8 mode; > > - if (data->power_mode == US5182D_ONESHOT) > - return us5182d_set_opmode(data, US5182D_ALS_ONLY); > + if (data->power_mode == US5182D_ONESHOT) { > + ret = us5182d_set_opmode(data, US5182D_ALS_ONLY); > + if (ret < 0) > + return ret; > + data->px_enabled = false; > + } > > if (data->als_enabled) > return 0; > @@ -260,8 +264,12 @@ static int us5182d_px_enable(struct us5182d_data *data) > int ret; > u8 mode; > > - if (data->power_mode == US5182D_ONESHOT) > - return us5182d_set_opmode(data, US5182D_PX_ONLY); > + if (data->power_mode == US5182D_ONESHOT) { > + ret = us5182d_set_opmode(data, US5182D_PX_ONLY); > + if (ret < 0) > + return ret; > + data->als_enabled = false; > + } > > if (data->px_enabled) > return 0; > -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html