IIO: Change msleep to usleep_range for small msecs
msleep(1~20) may not do what the caller intends, and will often sleep longer. (~20 ms actual sleep for any value given in the 1~20ms range) This is not the desired behaviour for many cases like device resume time, device suspend time, device enable time, data reading time, etc. Thus, change msleep to usleep_range for precise wakeups. Signed-off-by: Aniroop Mathur <a.mathur@samsung.com> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
This commit is contained in:

committed by
Jonathan Cameron

parent
160d95870c
commit
071cf24943
@@ -632,7 +632,7 @@ static irqreturn_t exynos_ts_isr(int irq, void *dev_id)
|
|||||||
input_report_key(info->input, BTN_TOUCH, 1);
|
input_report_key(info->input, BTN_TOUCH, 1);
|
||||||
input_sync(info->input);
|
input_sync(info->input);
|
||||||
|
|
||||||
msleep(1);
|
usleep_range(1000, 1100);
|
||||||
};
|
};
|
||||||
|
|
||||||
writel(0, ADC_V1_CLRINTPNDNUP(info->regs));
|
writel(0, ADC_V1_CLRINTPNDNUP(info->regs));
|
||||||
|
@@ -65,7 +65,7 @@ struct bmp280_data {
|
|||||||
struct bmp180_calib calib;
|
struct bmp180_calib calib;
|
||||||
struct regulator *vddd;
|
struct regulator *vddd;
|
||||||
struct regulator *vdda;
|
struct regulator *vdda;
|
||||||
unsigned int start_up_time; /* in milliseconds */
|
unsigned int start_up_time; /* in microseconds */
|
||||||
|
|
||||||
/* log of base 2 of oversampling rate */
|
/* log of base 2 of oversampling rate */
|
||||||
u8 oversampling_press;
|
u8 oversampling_press;
|
||||||
@@ -935,14 +935,14 @@ int bmp280_common_probe(struct device *dev,
|
|||||||
data->chip_info = &bmp180_chip_info;
|
data->chip_info = &bmp180_chip_info;
|
||||||
data->oversampling_press = ilog2(8);
|
data->oversampling_press = ilog2(8);
|
||||||
data->oversampling_temp = ilog2(1);
|
data->oversampling_temp = ilog2(1);
|
||||||
data->start_up_time = 10;
|
data->start_up_time = 10000;
|
||||||
break;
|
break;
|
||||||
case BMP280_CHIP_ID:
|
case BMP280_CHIP_ID:
|
||||||
indio_dev->num_channels = 2;
|
indio_dev->num_channels = 2;
|
||||||
data->chip_info = &bmp280_chip_info;
|
data->chip_info = &bmp280_chip_info;
|
||||||
data->oversampling_press = ilog2(16);
|
data->oversampling_press = ilog2(16);
|
||||||
data->oversampling_temp = ilog2(2);
|
data->oversampling_temp = ilog2(2);
|
||||||
data->start_up_time = 2;
|
data->start_up_time = 2000;
|
||||||
break;
|
break;
|
||||||
case BME280_CHIP_ID:
|
case BME280_CHIP_ID:
|
||||||
indio_dev->num_channels = 3;
|
indio_dev->num_channels = 3;
|
||||||
@@ -950,7 +950,7 @@ int bmp280_common_probe(struct device *dev,
|
|||||||
data->oversampling_press = ilog2(16);
|
data->oversampling_press = ilog2(16);
|
||||||
data->oversampling_humid = ilog2(16);
|
data->oversampling_humid = ilog2(16);
|
||||||
data->oversampling_temp = ilog2(2);
|
data->oversampling_temp = ilog2(2);
|
||||||
data->start_up_time = 2;
|
data->start_up_time = 2000;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
@@ -979,7 +979,7 @@ int bmp280_common_probe(struct device *dev,
|
|||||||
goto out_disable_vddd;
|
goto out_disable_vddd;
|
||||||
}
|
}
|
||||||
/* Wait to make sure we started up properly */
|
/* Wait to make sure we started up properly */
|
||||||
mdelay(data->start_up_time);
|
usleep_range(data->start_up_time, data->start_up_time + 100);
|
||||||
|
|
||||||
/* Bring chip out of reset if there is an assigned GPIO line */
|
/* Bring chip out of reset if there is an assigned GPIO line */
|
||||||
gpiod = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH);
|
gpiod = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH);
|
||||||
@@ -1038,7 +1038,7 @@ int bmp280_common_probe(struct device *dev,
|
|||||||
* Set autosuspend to two orders of magnitude larger than the
|
* Set autosuspend to two orders of magnitude larger than the
|
||||||
* start-up time.
|
* start-up time.
|
||||||
*/
|
*/
|
||||||
pm_runtime_set_autosuspend_delay(dev, data->start_up_time *100);
|
pm_runtime_set_autosuspend_delay(dev, data->start_up_time / 10);
|
||||||
pm_runtime_use_autosuspend(dev);
|
pm_runtime_use_autosuspend(dev);
|
||||||
pm_runtime_put(dev);
|
pm_runtime_put(dev);
|
||||||
|
|
||||||
@@ -1101,7 +1101,7 @@ static int bmp280_runtime_resume(struct device *dev)
|
|||||||
ret = regulator_enable(data->vdda);
|
ret = regulator_enable(data->vdda);
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
msleep(data->start_up_time);
|
usleep_range(data->start_up_time, data->start_up_time + 100);
|
||||||
return data->chip_info->chip_config(data);
|
return data->chip_info->chip_config(data);
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_PM */
|
#endif /* CONFIG_PM */
|
||||||
|
@@ -377,7 +377,7 @@ static int ade7753_initial_setup(struct iio_dev *indio_dev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
ade7753_reset(dev);
|
ade7753_reset(dev);
|
||||||
msleep(ADE7753_STARTUP_DELAY);
|
usleep_range(ADE7753_STARTUP_DELAY, ADE7753_STARTUP_DELAY + 100);
|
||||||
|
|
||||||
err_ret:
|
err_ret:
|
||||||
return ret;
|
return ret;
|
||||||
|
@@ -49,7 +49,7 @@
|
|||||||
|
|
||||||
#define ADE7753_MAX_TX 4
|
#define ADE7753_MAX_TX 4
|
||||||
#define ADE7753_MAX_RX 4
|
#define ADE7753_MAX_RX 4
|
||||||
#define ADE7753_STARTUP_DELAY 1
|
#define ADE7753_STARTUP_DELAY 1000
|
||||||
|
|
||||||
#define ADE7753_SPI_SLOW (u32)(300 * 1000)
|
#define ADE7753_SPI_SLOW (u32)(300 * 1000)
|
||||||
#define ADE7753_SPI_BURST (u32)(1000 * 1000)
|
#define ADE7753_SPI_BURST (u32)(1000 * 1000)
|
||||||
|
@@ -389,7 +389,7 @@ static int ade7754_initial_setup(struct iio_dev *indio_dev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
ade7754_reset(dev);
|
ade7754_reset(dev);
|
||||||
msleep(ADE7754_STARTUP_DELAY);
|
usleep_range(ADE7754_STARTUP_DELAY, ADE7754_STARTUP_DELAY + 100);
|
||||||
|
|
||||||
err_ret:
|
err_ret:
|
||||||
return ret;
|
return ret;
|
||||||
|
@@ -67,7 +67,7 @@
|
|||||||
|
|
||||||
#define ADE7754_MAX_TX 4
|
#define ADE7754_MAX_TX 4
|
||||||
#define ADE7754_MAX_RX 4
|
#define ADE7754_MAX_RX 4
|
||||||
#define ADE7754_STARTUP_DELAY 1
|
#define ADE7754_STARTUP_DELAY 1000
|
||||||
|
|
||||||
#define ADE7754_SPI_SLOW (u32)(300 * 1000)
|
#define ADE7754_SPI_SLOW (u32)(300 * 1000)
|
||||||
#define ADE7754_SPI_BURST (u32)(1000 * 1000)
|
#define ADE7754_SPI_BURST (u32)(1000 * 1000)
|
||||||
|
@@ -89,7 +89,7 @@
|
|||||||
|
|
||||||
#define ADE7758_MAX_TX 8
|
#define ADE7758_MAX_TX 8
|
||||||
#define ADE7758_MAX_RX 4
|
#define ADE7758_MAX_RX 4
|
||||||
#define ADE7758_STARTUP_DELAY 1
|
#define ADE7758_STARTUP_DELAY 1000
|
||||||
|
|
||||||
#define AD7758_NUM_WAVSEL 5
|
#define AD7758_NUM_WAVSEL 5
|
||||||
#define AD7758_NUM_PHSEL 3
|
#define AD7758_NUM_PHSEL 3
|
||||||
|
@@ -459,7 +459,7 @@ static int ade7758_initial_setup(struct iio_dev *indio_dev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
ade7758_reset(dev);
|
ade7758_reset(dev);
|
||||||
msleep(ADE7758_STARTUP_DELAY);
|
usleep_range(ADE7758_STARTUP_DELAY, ADE7758_STARTUP_DELAY + 100);
|
||||||
|
|
||||||
err_ret:
|
err_ret:
|
||||||
return ret;
|
return ret;
|
||||||
|
@@ -338,7 +338,7 @@ static int ade7759_initial_setup(struct iio_dev *indio_dev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
ade7759_reset(dev);
|
ade7759_reset(dev);
|
||||||
msleep(ADE7759_STARTUP_DELAY);
|
usleep_range(ADE7759_STARTUP_DELAY, ADE7759_STARTUP_DELAY + 100);
|
||||||
|
|
||||||
err_ret:
|
err_ret:
|
||||||
return ret;
|
return ret;
|
||||||
|
@@ -30,7 +30,7 @@
|
|||||||
|
|
||||||
#define ADE7759_MAX_TX 6
|
#define ADE7759_MAX_TX 6
|
||||||
#define ADE7759_MAX_RX 6
|
#define ADE7759_MAX_RX 6
|
||||||
#define ADE7759_STARTUP_DELAY 1
|
#define ADE7759_STARTUP_DELAY 1000
|
||||||
|
|
||||||
#define ADE7759_SPI_SLOW (u32)(300 * 1000)
|
#define ADE7759_SPI_SLOW (u32)(300 * 1000)
|
||||||
#define ADE7759_SPI_BURST (u32)(1000 * 1000)
|
#define ADE7759_SPI_BURST (u32)(1000 * 1000)
|
||||||
|
@@ -444,7 +444,7 @@ static int ade7854_initial_setup(struct iio_dev *indio_dev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
ade7854_reset(dev);
|
ade7854_reset(dev);
|
||||||
msleep(ADE7854_STARTUP_DELAY);
|
usleep_range(ADE7854_STARTUP_DELAY, ADE7854_STARTUP_DELAY + 100);
|
||||||
|
|
||||||
err_ret:
|
err_ret:
|
||||||
return ret;
|
return ret;
|
||||||
|
@@ -136,7 +136,7 @@
|
|||||||
|
|
||||||
#define ADE7854_MAX_TX 7
|
#define ADE7854_MAX_TX 7
|
||||||
#define ADE7854_MAX_RX 7
|
#define ADE7854_MAX_RX 7
|
||||||
#define ADE7854_STARTUP_DELAY 1
|
#define ADE7854_STARTUP_DELAY 1000
|
||||||
|
|
||||||
#define ADE7854_SPI_SLOW (u32)(300 * 1000)
|
#define ADE7854_SPI_SLOW (u32)(300 * 1000)
|
||||||
#define ADE7854_SPI_BURST (u32)(1000 * 1000)
|
#define ADE7854_SPI_BURST (u32)(1000 * 1000)
|
||||||
|
Reference in New Issue
Block a user