diff mbox series

[v1,3/3] iio: pressure: bmp280: Make time vars intuitive and move to fsleep

Message ID 20241202181907.21471-4-vassilisamir@gmail.com (mailing list archive)
State Accepted
Headers show
Series iio: pressure: bmp280: Minor cleanup | expand

Commit Message

Vasileios Amoiridis Dec. 2, 2024, 6:19 p.m. UTC
Move sleep functions to the new fsleep() implementation. While at it,
add time unit abbreviation as a suffix of time describing variables to
make them more intuitive.

Signed-off-by: Vasileios Amoiridis <vassilisamir@gmail.com>
---
 drivers/iio/pressure/bmp280-core.c | 39 +++++++++++++++---------------
 drivers/iio/pressure/bmp280.h      |  4 +--
 2 files changed, 22 insertions(+), 21 deletions(-)

Comments

Jonathan Cameron Dec. 8, 2024, 6:08 p.m. UTC | #1
On Mon,  2 Dec 2024 19:19:07 +0100
Vasileios Amoiridis <vassilisamir@gmail.com> wrote:

> Move sleep functions to the new fsleep() implementation. While at it,
> add time unit abbreviation as a suffix of time describing variables to
> make them more intuitive.
> 
> Signed-off-by: Vasileios Amoiridis <vassilisamir@gmail.com>
Applied this one.  So only patch 1 needs an update.

Thanks,

Jonathan

> ---
>  drivers/iio/pressure/bmp280-core.c | 39 +++++++++++++++---------------
>  drivers/iio/pressure/bmp280.h      |  4 +--
>  2 files changed, 22 insertions(+), 21 deletions(-)
> 
> diff --git a/drivers/iio/pressure/bmp280-core.c b/drivers/iio/pressure/bmp280-core.c
> index e5ec8137961f..b39ef30f8eda 100644
> --- a/drivers/iio/pressure/bmp280-core.c
> +++ b/drivers/iio/pressure/bmp280-core.c
> @@ -1002,7 +1002,7 @@ static int bmp280_preinit(struct bmp280_data *data)
>  	 * after resetting, the device uses the complete power-on sequence so
>  	 * it needs to wait for the defined start-up time.
>  	 */
> -	fsleep(data->start_up_time);
> +	fsleep(data->start_up_time_us);
>  
>  	ret = regmap_read(data->regmap, BMP280_REG_STATUS, &reg);
>  	if (ret)
> @@ -1161,7 +1161,7 @@ const struct bmp280_chip_info bmp280_chip_info = {
>  	.chip_id = bmp280_chip_ids,
>  	.num_chip_id = ARRAY_SIZE(bmp280_chip_ids),
>  	.regmap_config = &bmp280_regmap_config,
> -	.start_up_time = 2000,
> +	.start_up_time_us = 2000,
>  	.channels = bmp280_channels,
>  	.num_channels = ARRAY_SIZE(bmp280_channels),
>  	.avail_scan_masks = bmp280_avail_scan_masks,
> @@ -1347,7 +1347,7 @@ const struct bmp280_chip_info bme280_chip_info = {
>  	.chip_id = bme280_chip_ids,
>  	.num_chip_id = ARRAY_SIZE(bme280_chip_ids),
>  	.regmap_config = &bme280_regmap_config,
> -	.start_up_time = 2000,
> +	.start_up_time_us = 2000,
>  	.channels = bme280_channels,
>  	.num_channels = ARRAY_SIZE(bme280_channels),
>  	.avail_scan_masks = bme280_avail_scan_masks,
> @@ -1414,7 +1414,7 @@ static int bmp380_cmd(struct bmp280_data *data, u8 cmd)
>  		return ret;
>  	}
>  	/* Wait for 2ms for command to be processed */
> -	usleep_range(data->start_up_time, data->start_up_time + 100);
> +	fsleep(data->start_up_time_us);
>  	/* Check for command processing error */
>  	ret = regmap_read(data->regmap, BMP380_REG_ERROR, &reg);
>  	if (ret) {
> @@ -1806,7 +1806,7 @@ static int bmp380_chip_config(struct bmp280_data *data)
>  		 * formula in datasheet section 3.9.2 with an offset of ~+15%
>  		 * as it seen as well in table 3.9.1.
>  		 */
> -		msleep(150);
> +		fsleep(150 * USEC_PER_MSEC);
>  
>  		/* Check config error flag */
>  		ret = regmap_read(data->regmap, BMP380_REG_ERROR, &tmp);
> @@ -1957,7 +1957,7 @@ const struct bmp280_chip_info bmp380_chip_info = {
>  	.num_chip_id = ARRAY_SIZE(bmp380_chip_ids),
>  	.regmap_config = &bmp380_regmap_config,
>  	.spi_read_extra_byte = true,
> -	.start_up_time = 2000,
> +	.start_up_time_us = 2000,
>  	.channels = bmp380_channels,
>  	.num_channels = ARRAY_SIZE(bmp380_channels),
>  	.avail_scan_masks = bmp280_avail_scan_masks,
> @@ -2006,7 +2006,8 @@ static int bmp580_soft_reset(struct bmp280_data *data)
>  		dev_err(data->dev, "failed to send reset command to device\n");
>  		return ret;
>  	}
> -	usleep_range(2000, 2500);
> +	/* From datasheet's table 4: electrical characteristics */
> +	fsleep(2000);
>  
>  	/* Dummy read of chip_id */
>  	ret = regmap_read(data->regmap, BMP580_REG_CHIP_ID, &reg);
> @@ -2208,7 +2209,7 @@ static int bmp580_nvmem_read_impl(void *priv, unsigned int offset, void *val,
>  		goto exit;
>  	}
>  	/* Wait standby transition time */
> -	usleep_range(2500, 3000);
> +	fsleep(2500);
>  
>  	while (bytes >= sizeof(*dst)) {
>  		addr = bmp580_nvmem_addrs[offset / sizeof(*dst)];
> @@ -2274,7 +2275,7 @@ static int bmp580_nvmem_write_impl(void *priv, unsigned int offset, void *val,
>  		goto exit;
>  	}
>  	/* Wait standby transition time */
> -	usleep_range(2500, 3000);
> +	fsleep(2500);
>  
>  	while (bytes >= sizeof(*buf)) {
>  		addr = bmp580_nvmem_addrs[offset / sizeof(*buf)];
> @@ -2458,7 +2459,7 @@ static int bmp580_chip_config(struct bmp280_data *data)
>  		return ret;
>  	}
>  	/* From datasheet's table 4: electrical characteristics */
> -	usleep_range(2500, 3000);
> +	fsleep(2500);
>  
>  	/* Set default DSP mode settings */
>  	reg_val = FIELD_PREP(BMP580_DSP_COMP_MASK, BMP580_DSP_PRESS_TEMP_COMP_EN) |
> @@ -2649,7 +2650,7 @@ const struct bmp280_chip_info bmp580_chip_info = {
>  	.chip_id = bmp580_chip_ids,
>  	.num_chip_id = ARRAY_SIZE(bmp580_chip_ids),
>  	.regmap_config = &bmp580_regmap_config,
> -	.start_up_time = 2000,
> +	.start_up_time_us = 2000,
>  	.channels = bmp580_channels,
>  	.num_channels = ARRAY_SIZE(bmp580_channels),
>  	.avail_scan_masks = bmp280_avail_scan_masks,
> @@ -2720,7 +2721,7 @@ static int bmp180_wait_for_eoc(struct bmp280_data *data, u8 ctrl_meas)
>  			delay_us =
>  				conversion_time_max[data->oversampling_press];
>  
> -		usleep_range(delay_us, delay_us + 1000);
> +		fsleep(delay_us);
>  	}
>  
>  	ret = regmap_read(data->regmap, BMP280_REG_CTRL_MEAS, &ctrl);
> @@ -2988,7 +2989,7 @@ const struct bmp280_chip_info bmp180_chip_info = {
>  	.chip_id = bmp180_chip_ids,
>  	.num_chip_id = ARRAY_SIZE(bmp180_chip_ids),
>  	.regmap_config = &bmp180_regmap_config,
> -	.start_up_time = 2000,
> +	.start_up_time_us = 2000,
>  	.channels = bmp280_channels,
>  	.num_channels = ARRAY_SIZE(bmp280_channels),
>  	.avail_scan_masks = bmp280_avail_scan_masks,
> @@ -3066,7 +3067,7 @@ const struct bmp280_chip_info bmp085_chip_info = {
>  	.chip_id = bmp180_chip_ids,
>  	.num_chip_id = ARRAY_SIZE(bmp180_chip_ids),
>  	.regmap_config = &bmp180_regmap_config,
> -	.start_up_time = 2000,
> +	.start_up_time_us = 2000,
>  	.channels = bmp280_channels,
>  	.num_channels = ARRAY_SIZE(bmp280_channels),
>  	.avail_scan_masks = bmp280_avail_scan_masks,
> @@ -3175,7 +3176,7 @@ int bmp280_common_probe(struct device *dev,
>  	data->oversampling_temp = chip_info->oversampling_temp_default;
>  	data->iir_filter_coeff = chip_info->iir_filter_coeff_default;
>  	data->sampling_freq = chip_info->sampling_freq_default;
> -	data->start_up_time = chip_info->start_up_time;
> +	data->start_up_time_us = chip_info->start_up_time_us;
>  
>  	/* Bring up regulators */
>  	regulator_bulk_set_supply_names(data->supplies,
> @@ -3201,7 +3202,7 @@ int bmp280_common_probe(struct device *dev,
>  		return ret;
>  
>  	/* Wait to make sure we started up properly */
> -	usleep_range(data->start_up_time, data->start_up_time + 100);
> +	fsleep(data->start_up_time_us);
>  
>  	/* Bring chip out of reset if there is an assigned GPIO line */
>  	gpiod = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH);
> @@ -3287,7 +3288,7 @@ int bmp280_common_probe(struct device *dev,
>  	 * Set autosuspend to two orders of magnitude larger than the
>  	 * start-up time.
>  	 */
> -	pm_runtime_set_autosuspend_delay(dev, data->start_up_time / 10);
> +	pm_runtime_set_autosuspend_delay(dev, data->start_up_time_us / 10);
>  	pm_runtime_use_autosuspend(dev);
>  	pm_runtime_put(dev);
>  
> @@ -3306,7 +3307,7 @@ static int bmp280_runtime_suspend(struct device *dev)
>  
>  	data->chip_info->set_mode(data, BMP280_SLEEP);
>  
> -	fsleep(data->start_up_time);
> +	fsleep(data->start_up_time_us);
>  	return regulator_bulk_disable(BMP280_NUM_SUPPLIES, data->supplies);
>  }
>  
> @@ -3320,7 +3321,7 @@ static int bmp280_runtime_resume(struct device *dev)
>  	if (ret)
>  		return ret;
>  
> -	usleep_range(data->start_up_time, data->start_up_time + 100);
> +	fsleep(data->start_up_time_us);
>  
>  	ret = data->chip_info->chip_config(data);
>  	if (ret)
> diff --git a/drivers/iio/pressure/bmp280.h b/drivers/iio/pressure/bmp280.h
> index a3631bc0e188..5b2ee1d0ee46 100644
> --- a/drivers/iio/pressure/bmp280.h
> +++ b/drivers/iio/pressure/bmp280.h
> @@ -434,7 +434,7 @@ struct bmp280_data {
>  		struct bmp380_calib bmp380;
>  	} calib;
>  	struct regulator_bulk_data supplies[BMP280_NUM_SUPPLIES];
> -	unsigned int start_up_time; /* in microseconds */
> +	unsigned int start_up_time_us;
>  
>  	/* log of base 2 of oversampling rate */
>  	u8 oversampling_press;
> @@ -490,7 +490,7 @@ struct bmp280_chip_info {
>  
>  	const struct iio_chan_spec *channels;
>  	int num_channels;
> -	unsigned int start_up_time;
> +	unsigned int start_up_time_us;
>  	const unsigned long *avail_scan_masks;
>  
>  	const int *oversampling_temp_avail;
diff mbox series

Patch

diff --git a/drivers/iio/pressure/bmp280-core.c b/drivers/iio/pressure/bmp280-core.c
index e5ec8137961f..b39ef30f8eda 100644
--- a/drivers/iio/pressure/bmp280-core.c
+++ b/drivers/iio/pressure/bmp280-core.c
@@ -1002,7 +1002,7 @@  static int bmp280_preinit(struct bmp280_data *data)
 	 * after resetting, the device uses the complete power-on sequence so
 	 * it needs to wait for the defined start-up time.
 	 */
-	fsleep(data->start_up_time);
+	fsleep(data->start_up_time_us);
 
 	ret = regmap_read(data->regmap, BMP280_REG_STATUS, &reg);
 	if (ret)
@@ -1161,7 +1161,7 @@  const struct bmp280_chip_info bmp280_chip_info = {
 	.chip_id = bmp280_chip_ids,
 	.num_chip_id = ARRAY_SIZE(bmp280_chip_ids),
 	.regmap_config = &bmp280_regmap_config,
-	.start_up_time = 2000,
+	.start_up_time_us = 2000,
 	.channels = bmp280_channels,
 	.num_channels = ARRAY_SIZE(bmp280_channels),
 	.avail_scan_masks = bmp280_avail_scan_masks,
@@ -1347,7 +1347,7 @@  const struct bmp280_chip_info bme280_chip_info = {
 	.chip_id = bme280_chip_ids,
 	.num_chip_id = ARRAY_SIZE(bme280_chip_ids),
 	.regmap_config = &bme280_regmap_config,
-	.start_up_time = 2000,
+	.start_up_time_us = 2000,
 	.channels = bme280_channels,
 	.num_channels = ARRAY_SIZE(bme280_channels),
 	.avail_scan_masks = bme280_avail_scan_masks,
@@ -1414,7 +1414,7 @@  static int bmp380_cmd(struct bmp280_data *data, u8 cmd)
 		return ret;
 	}
 	/* Wait for 2ms for command to be processed */
-	usleep_range(data->start_up_time, data->start_up_time + 100);
+	fsleep(data->start_up_time_us);
 	/* Check for command processing error */
 	ret = regmap_read(data->regmap, BMP380_REG_ERROR, &reg);
 	if (ret) {
@@ -1806,7 +1806,7 @@  static int bmp380_chip_config(struct bmp280_data *data)
 		 * formula in datasheet section 3.9.2 with an offset of ~+15%
 		 * as it seen as well in table 3.9.1.
 		 */
-		msleep(150);
+		fsleep(150 * USEC_PER_MSEC);
 
 		/* Check config error flag */
 		ret = regmap_read(data->regmap, BMP380_REG_ERROR, &tmp);
@@ -1957,7 +1957,7 @@  const struct bmp280_chip_info bmp380_chip_info = {
 	.num_chip_id = ARRAY_SIZE(bmp380_chip_ids),
 	.regmap_config = &bmp380_regmap_config,
 	.spi_read_extra_byte = true,
-	.start_up_time = 2000,
+	.start_up_time_us = 2000,
 	.channels = bmp380_channels,
 	.num_channels = ARRAY_SIZE(bmp380_channels),
 	.avail_scan_masks = bmp280_avail_scan_masks,
@@ -2006,7 +2006,8 @@  static int bmp580_soft_reset(struct bmp280_data *data)
 		dev_err(data->dev, "failed to send reset command to device\n");
 		return ret;
 	}
-	usleep_range(2000, 2500);
+	/* From datasheet's table 4: electrical characteristics */
+	fsleep(2000);
 
 	/* Dummy read of chip_id */
 	ret = regmap_read(data->regmap, BMP580_REG_CHIP_ID, &reg);
@@ -2208,7 +2209,7 @@  static int bmp580_nvmem_read_impl(void *priv, unsigned int offset, void *val,
 		goto exit;
 	}
 	/* Wait standby transition time */
-	usleep_range(2500, 3000);
+	fsleep(2500);
 
 	while (bytes >= sizeof(*dst)) {
 		addr = bmp580_nvmem_addrs[offset / sizeof(*dst)];
@@ -2274,7 +2275,7 @@  static int bmp580_nvmem_write_impl(void *priv, unsigned int offset, void *val,
 		goto exit;
 	}
 	/* Wait standby transition time */
-	usleep_range(2500, 3000);
+	fsleep(2500);
 
 	while (bytes >= sizeof(*buf)) {
 		addr = bmp580_nvmem_addrs[offset / sizeof(*buf)];
@@ -2458,7 +2459,7 @@  static int bmp580_chip_config(struct bmp280_data *data)
 		return ret;
 	}
 	/* From datasheet's table 4: electrical characteristics */
-	usleep_range(2500, 3000);
+	fsleep(2500);
 
 	/* Set default DSP mode settings */
 	reg_val = FIELD_PREP(BMP580_DSP_COMP_MASK, BMP580_DSP_PRESS_TEMP_COMP_EN) |
@@ -2649,7 +2650,7 @@  const struct bmp280_chip_info bmp580_chip_info = {
 	.chip_id = bmp580_chip_ids,
 	.num_chip_id = ARRAY_SIZE(bmp580_chip_ids),
 	.regmap_config = &bmp580_regmap_config,
-	.start_up_time = 2000,
+	.start_up_time_us = 2000,
 	.channels = bmp580_channels,
 	.num_channels = ARRAY_SIZE(bmp580_channels),
 	.avail_scan_masks = bmp280_avail_scan_masks,
@@ -2720,7 +2721,7 @@  static int bmp180_wait_for_eoc(struct bmp280_data *data, u8 ctrl_meas)
 			delay_us =
 				conversion_time_max[data->oversampling_press];
 
-		usleep_range(delay_us, delay_us + 1000);
+		fsleep(delay_us);
 	}
 
 	ret = regmap_read(data->regmap, BMP280_REG_CTRL_MEAS, &ctrl);
@@ -2988,7 +2989,7 @@  const struct bmp280_chip_info bmp180_chip_info = {
 	.chip_id = bmp180_chip_ids,
 	.num_chip_id = ARRAY_SIZE(bmp180_chip_ids),
 	.regmap_config = &bmp180_regmap_config,
-	.start_up_time = 2000,
+	.start_up_time_us = 2000,
 	.channels = bmp280_channels,
 	.num_channels = ARRAY_SIZE(bmp280_channels),
 	.avail_scan_masks = bmp280_avail_scan_masks,
@@ -3066,7 +3067,7 @@  const struct bmp280_chip_info bmp085_chip_info = {
 	.chip_id = bmp180_chip_ids,
 	.num_chip_id = ARRAY_SIZE(bmp180_chip_ids),
 	.regmap_config = &bmp180_regmap_config,
-	.start_up_time = 2000,
+	.start_up_time_us = 2000,
 	.channels = bmp280_channels,
 	.num_channels = ARRAY_SIZE(bmp280_channels),
 	.avail_scan_masks = bmp280_avail_scan_masks,
@@ -3175,7 +3176,7 @@  int bmp280_common_probe(struct device *dev,
 	data->oversampling_temp = chip_info->oversampling_temp_default;
 	data->iir_filter_coeff = chip_info->iir_filter_coeff_default;
 	data->sampling_freq = chip_info->sampling_freq_default;
-	data->start_up_time = chip_info->start_up_time;
+	data->start_up_time_us = chip_info->start_up_time_us;
 
 	/* Bring up regulators */
 	regulator_bulk_set_supply_names(data->supplies,
@@ -3201,7 +3202,7 @@  int bmp280_common_probe(struct device *dev,
 		return ret;
 
 	/* Wait to make sure we started up properly */
-	usleep_range(data->start_up_time, data->start_up_time + 100);
+	fsleep(data->start_up_time_us);
 
 	/* Bring chip out of reset if there is an assigned GPIO line */
 	gpiod = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH);
@@ -3287,7 +3288,7 @@  int bmp280_common_probe(struct device *dev,
 	 * Set autosuspend to two orders of magnitude larger than the
 	 * start-up time.
 	 */
-	pm_runtime_set_autosuspend_delay(dev, data->start_up_time / 10);
+	pm_runtime_set_autosuspend_delay(dev, data->start_up_time_us / 10);
 	pm_runtime_use_autosuspend(dev);
 	pm_runtime_put(dev);
 
@@ -3306,7 +3307,7 @@  static int bmp280_runtime_suspend(struct device *dev)
 
 	data->chip_info->set_mode(data, BMP280_SLEEP);
 
-	fsleep(data->start_up_time);
+	fsleep(data->start_up_time_us);
 	return regulator_bulk_disable(BMP280_NUM_SUPPLIES, data->supplies);
 }
 
@@ -3320,7 +3321,7 @@  static int bmp280_runtime_resume(struct device *dev)
 	if (ret)
 		return ret;
 
-	usleep_range(data->start_up_time, data->start_up_time + 100);
+	fsleep(data->start_up_time_us);
 
 	ret = data->chip_info->chip_config(data);
 	if (ret)
diff --git a/drivers/iio/pressure/bmp280.h b/drivers/iio/pressure/bmp280.h
index a3631bc0e188..5b2ee1d0ee46 100644
--- a/drivers/iio/pressure/bmp280.h
+++ b/drivers/iio/pressure/bmp280.h
@@ -434,7 +434,7 @@  struct bmp280_data {
 		struct bmp380_calib bmp380;
 	} calib;
 	struct regulator_bulk_data supplies[BMP280_NUM_SUPPLIES];
-	unsigned int start_up_time; /* in microseconds */
+	unsigned int start_up_time_us;
 
 	/* log of base 2 of oversampling rate */
 	u8 oversampling_press;
@@ -490,7 +490,7 @@  struct bmp280_chip_info {
 
 	const struct iio_chan_spec *channels;
 	int num_channels;
-	unsigned int start_up_time;
+	unsigned int start_up_time_us;
 	const unsigned long *avail_scan_masks;
 
 	const int *oversampling_temp_avail;