[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f16b351d-917b-6cc4-e8a2-881967bfb581@kernel.org>
Date: Sun, 6 Nov 2016 11:51:50 +0000
From: Jonathan Cameron <jic23@...nel.org>
To: Brian Masney <masneyb@...tation.org>, linux-iio@...r.kernel.org
Cc: devel@...verdev.osuosl.org, gregkh@...uxfoundation.org,
lars@...afoo.de, pmeerw@...erw.net, knaack.h@....de,
linux-kernel@...r.kernel.org, Jon.Brenner@....com
Subject: Re: [PATCH 4/9] staging: iio: tsl2583: remove redundant power off
sequence in taos_chip_on()
On 03/11/16 12:56, Brian Masney wrote:
> taos_chip_on() explicitly turns the sensor power on and then writes the
> 8 registers that are stored in taos_config. The first register in
> taos_config is the CONTROL register and the configuration is set to
> turn the power off. The existing state sequence in taos_chip_on() is:
>
> - Turn device power on
> - Turn device power off (via taos_config)
> - Configure other 7 registers (via taos_config)
> - Turn device power on, enable ADC
>
> This patch changes the code so that the device is not powered off via
> taos_config.
>
> Verified that the driver still functions correctly using a TSL2581
> hooked up to a Raspberry Pi 2.
>
> Signed-off-by: Brian Masney <masneyb@...tation.org>
Seems sensible.
Applied to the togreg branch of iio.git.
Thanks,
Jonathan
> ---
> drivers/staging/iio/light/tsl2583.c | 13 ++-----------
> 1 file changed, 2 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/staging/iio/light/tsl2583.c b/drivers/staging/iio/light/tsl2583.c
> index 709f446..7fb09c6 100644
> --- a/drivers/staging/iio/light/tsl2583.c
> +++ b/drivers/staging/iio/light/tsl2583.c
> @@ -410,17 +410,8 @@ static int taos_chip_on(struct iio_dev *indio_dev)
> chip->als_saturation = als_count * 922; /* 90% of full scale */
> chip->als_time_scale = (als_time + 25) / 50;
>
> - /*
> - * TSL258x Specific power-on / adc enable sequence
> - * Power on the device 1st.
> - */
> - utmp = TSL258X_CNTL_PWR_ON;
> - ret = i2c_smbus_write_byte_data(chip->client,
> - TSL258X_CMD_REG | TSL258X_CNTRL, utmp);
> - if (ret < 0) {
> - dev_err(&chip->client->dev, "taos_chip_on failed on CNTRL reg.\n");
> - return ret;
> - }
> + /* Power on the device; ADC off. */
> + chip->taos_config[TSL258X_CNTRL] = TSL258X_CNTL_PWR_ON;
>
> /*
> * Use the following shadow copy for our delay before enabling ADC.
>
Powered by blists - more mailing lists