diff options
Diffstat (limited to 'drivers/iio/humidity/dht11.c')
| -rw-r--r-- | drivers/iio/humidity/dht11.c | 6 | 
1 files changed, 4 insertions, 2 deletions
| diff --git a/drivers/iio/humidity/dht11.c b/drivers/iio/humidity/dht11.c index 9c47bc98f3ac..2a22ad920333 100644 --- a/drivers/iio/humidity/dht11.c +++ b/drivers/iio/humidity/dht11.c @@ -71,7 +71,8 @@   * a) select an implementation using busy loop polling on those systems   * b) use the checksum to do some probabilistic decoding   */ -#define DHT11_START_TRANSMISSION	18  /* ms */ +#define DHT11_START_TRANSMISSION_MIN	18000  /* us */ +#define DHT11_START_TRANSMISSION_MAX	20000  /* us */  #define DHT11_MIN_TIMERES	34000  /* ns */  #define DHT11_THRESHOLD		49000  /* ns */  #define DHT11_AMBIG_LOW		23000  /* ns */ @@ -228,7 +229,8 @@ static int dht11_read_raw(struct iio_dev *iio_dev,  		ret = gpio_direction_output(dht11->gpio, 0);  		if (ret)  			goto err; -		msleep(DHT11_START_TRANSMISSION); +		usleep_range(DHT11_START_TRANSMISSION_MIN, +			     DHT11_START_TRANSMISSION_MAX);  		ret = gpio_direction_input(dht11->gpio);  		if (ret)  			goto err; |