Re: [PATCH v2 7/9] staging: iio: tsl2x7x: use usleep_range() instead of mdelay()

From: Jonathan Cameron
Date: Sun Jul 09 2017 - 13:31:31 EST


On Thu, 6 Jul 2017 18:56:24 -0400
Brian Masney <masneyb@xxxxxxxxxxxxx> wrote:

> This driver in some cases can busy wait for upwards of 15ms. Since the
> kernel at this point is not running in atomic context, and is running in
> process context, we can safely use usleep_range() instead. This patch
> changes the two occurrences of mdelay() to usleep_range().
>
> Signed-off-by: Brian Masney <masneyb@xxxxxxxxxxxxx>
Applied. Thanks,

Jonathan
> ---
> drivers/staging/iio/light/tsl2x7x.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/staging/iio/light/tsl2x7x.c b/drivers/staging/iio/light/tsl2x7x.c
> index d80f5dc..c38bd64 100644
> --- a/drivers/staging/iio/light/tsl2x7x.c
> +++ b/drivers/staging/iio/light/tsl2x7x.c
> @@ -686,7 +686,8 @@ static int tsl2x7x_chip_on(struct iio_dev *indio_dev)
> }
> }
>
> - mdelay(3); /* Power-on settling time */
> + /* Power-on settling time */
> + usleep_range(3000, 3500);
>
> /*
> * NOW enable the ADC
> @@ -853,7 +854,7 @@ static void tsl2x7x_prox_cal(struct iio_dev *indio_dev)
>
> /*gather the samples*/
> for (i = 0; i < chip->tsl2x7x_settings.prox_max_samples_cal; i++) {
> - mdelay(15);
> + usleep_range(15000, 17500);
> tsl2x7x_get_prox(indio_dev);
> prox_history[i] = chip->prox_data;
> dev_info(&chip->client->dev, "2 i=%d prox data= %d\n",