From: Vasileios Amoiridis <vassilisamir@gmail.com>
To: jic23@kernel.org, lars@metafoo.de, robh@kernel.org,
krzk+dt@kernel.org, conor+dt@kernel.org,
andriy.shevchenko@linux.intel.com
Cc: vassilisamir@gmail.com, ang.iglesiasg@gmail.com,
linus.walleij@linaro.org, biju.das.jz@bp.renesas.com,
javier.carrasco.cruz@gmail.com, semen.protsenko@linaro.org,
579lpy@gmail.com, ak@it-klinger.de, linux-iio@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
christophe.jaillet@wanadoo.fr
Subject: [PATCH v5 3/7] iio: pressure: bmp280: Remove config error check for IIR filter updates
Date: Mon, 2 Sep 2024 20:42:18 +0200 [thread overview]
Message-ID: <20240902184222.24874-4-vassilisamir@gmail.com> (raw)
In-Reply-To: <20240902184222.24874-1-vassilisamir@gmail.com>
When there is a change in the configuration of the BMP3xx device, several
steps take place. These steps include:
1) Update the OSR settings and check if there was an update
2) Update the ODR settings and check if there was an update
3) Update the IIR settings and check if there was an update
4) Check if there was an update with the following procedure:
a) Set sensor to SLEEP mode and after to NORMAL mode to trigger
a new measurement.
b) Wait the maximum amount possible depending on the OSR settings
c) Check the configuration error register if there was an error
during the configuration of the sensor.
This check is necessary, because there could be a case where the OSR is
too high for the requested ODR so either the ODR needs to be slower or the
OSR needs to be less. This is something that is checked internally by the
sensor when it runs in NORMAL mode.
In the BMP58x devices the previous steps are done internally by the sensor.
The IIR filter settings do not depend on the OSR or ODR settings, and there
is no need to run a check in case they change.
Signed-off-by: Vasileios Amoiridis <vassilisamir@gmail.com>
---
drivers/iio/pressure/bmp280-core.c | 14 +++++---------
1 file changed, 5 insertions(+), 9 deletions(-)
diff --git a/drivers/iio/pressure/bmp280-core.c b/drivers/iio/pressure/bmp280-core.c
index cd975fad2753..ba77c428042d 100644
--- a/drivers/iio/pressure/bmp280-core.c
+++ b/drivers/iio/pressure/bmp280-core.c
@@ -1559,14 +1559,12 @@ static int bmp380_chip_config(struct bmp280_data *data)
change = change || aux;
/* Set filter data */
- ret = regmap_update_bits_check(data->regmap, BMP380_REG_CONFIG, BMP380_FILTER_MASK,
- FIELD_PREP(BMP380_FILTER_MASK, data->iir_filter_coeff),
- &aux);
+ ret = regmap_update_bits(data->regmap, BMP380_REG_CONFIG, BMP380_FILTER_MASK,
+ FIELD_PREP(BMP380_FILTER_MASK, data->iir_filter_coeff));
if (ret) {
dev_err(data->dev, "failed to write config register\n");
return ret;
}
- change = change || aux;
if (change) {
/*
@@ -2156,15 +2154,13 @@ static int bmp580_chip_config(struct bmp280_data *data)
reg_val = FIELD_PREP(BMP580_DSP_IIR_PRESS_MASK, data->iir_filter_coeff) |
FIELD_PREP(BMP580_DSP_IIR_TEMP_MASK, data->iir_filter_coeff);
- ret = regmap_update_bits_check(data->regmap, BMP580_REG_DSP_IIR,
- BMP580_DSP_IIR_PRESS_MASK |
- BMP580_DSP_IIR_TEMP_MASK,
- reg_val, &aux);
+ ret = regmap_update_bits(data->regmap, BMP580_REG_DSP_IIR,
+ BMP580_DSP_IIR_PRESS_MASK | BMP580_DSP_IIR_TEMP_MASK,
+ reg_val);
if (ret) {
dev_err(data->dev, "failed to write config register\n");
return ret;
}
- change = change || aux;
/* Restore sensor to normal operation mode */
ret = regmap_write_bits(data->regmap, BMP580_REG_ODR_CONFIG,
--
2.25.1
next prev parent reply other threads:[~2024-09-02 18:42 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-02 18:42 [PATCH v5 0/7] pressure: bmp280: Minor cleanup and interrupt support Vasileios Amoiridis
2024-09-02 18:42 ` [PATCH v5 1/7] iio: pressure: bmp280: Use bulk read for humidity calibration data Vasileios Amoiridis
2024-09-02 18:42 ` [PATCH v5 2/7] iio: pressure: bmp280: Add support for bmp280 soft reset Vasileios Amoiridis
2024-09-02 18:42 ` Vasileios Amoiridis [this message]
2024-09-02 18:42 ` [PATCH v5 4/7] iio: pressure: bmp280: Use sleep and forced mode for oneshot captures Vasileios Amoiridis
2024-09-03 14:26 ` Andy Shevchenko
2024-09-04 10:24 ` Vasileios Amoiridis
2024-09-04 14:17 ` Andy Shevchenko
2024-09-04 14:21 ` Andy Shevchenko
2024-09-02 18:42 ` [PATCH v5 5/7] dt-bindings: iio: pressure: bmp085: Add interrupts for BMP3xx and BMP5xx devices Vasileios Amoiridis
2024-09-03 6:34 ` Krzysztof Kozlowski
2024-09-04 10:32 ` Vasileios Amoiridis
2024-09-02 18:42 ` [PATCH v5 6/7] iio: pressure: bmp280: Add data ready trigger support Vasileios Amoiridis
2024-09-03 14:36 ` Andy Shevchenko
2024-09-04 10:28 ` Vasileios Amoiridis
2024-09-04 14:19 ` Andy Shevchenko
2024-09-02 18:42 ` [PATCH v5 7/7] iio: pressure: bmp280: Move bmp085 interrupt to new configuration Vasileios Amoiridis
2024-09-03 14:39 ` Andy Shevchenko
2024-09-04 10:29 ` Vasileios Amoiridis
2024-09-03 14:36 ` [PATCH v5 0/7] pressure: bmp280: Minor cleanup and interrupt support Andy Shevchenko
2024-09-04 10:29 ` Vasileios Amoiridis
2024-09-07 16:35 ` Jonathan Cameron
2024-09-10 22:09 ` Vasileios Amoiridis
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240902184222.24874-4-vassilisamir@gmail.com \
--to=vassilisamir@gmail.com \
--cc=579lpy@gmail.com \
--cc=ak@it-klinger.de \
--cc=andriy.shevchenko@linux.intel.com \
--cc=ang.iglesiasg@gmail.com \
--cc=biju.das.jz@bp.renesas.com \
--cc=christophe.jaillet@wanadoo.fr \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=javier.carrasco.cruz@gmail.com \
--cc=jic23@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=lars@metafoo.de \
--cc=linus.walleij@linaro.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=robh@kernel.org \
--cc=semen.protsenko@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).