[PATCH 07/12] iio: pressure: rohm-bm1390: Fix AVE_NUM initialization

Matti Vaittinen <[email protected]>
Newsgroups org.kernel.vger.linux-iio,org.kernel.vger.linux-kernel
Message-ID <7784e12793187a75dc10b0e84471f0cefe4d28b9.1786347811.git.mazziesaccount@gmail.com>
From: Matti Vaittinen <[email protected]>

The BM1390 tries to initialize the AVE_NUM to 110b at the start-up. The
field location is not taken into account, and value is written unsifted.
This causes the AVE_NUM to be initialized to zero.

Use FIELD_PREP() to shift the intended AVE_NUM value to correct field.

Signed-off-by: Matti Vaittinen <[email protected]>
Fixes: 81ca5979b6ed ("iio: pressure: Support ROHM BU1390")
---
 drivers/iio/pressure/rohm-bm1390.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/iio/pressure/rohm-bm1390.c b/drivers/iio/pressure/rohm-bm1390.c
index d00d7ed54cb1..29454570f257 100644
--- a/drivers/iio/pressure/rohm-bm1390.c
+++ b/drivers/iio/pressure/rohm-bm1390.c
@@ -479,6 +479,7 @@ static const struct iio_info bm1390_info = {
 
 static int bm1390_chip_init(struct bm1390_data *data)
 {
+	u8 regval;
 	int ret;
 
 	ret = regmap_write_bits(data->regmap, BM1390_REG_POWER,
@@ -512,8 +513,9 @@ static int bm1390_chip_init(struct bm1390_data *data)
 	 * Default to use IIR filter in "middle" mode. Also the AVE_NUM must
 	 * be fixed when IIR is in use.
 	 */
+	regval = FIELD_PREP(BM1390_MASK_AVE_NUM, BM1390_IIR_AVE_NUM);
 	ret = regmap_update_bits(data->regmap, BM1390_REG_MODE_CTRL,
-				 BM1390_MASK_AVE_NUM, BM1390_IIR_AVE_NUM);
+				 BM1390_MASK_AVE_NUM, regval);
 	if (ret)
 		return ret;
 
-- 
2.55.0
signature.asc (application/pgp-signature, 488 B)
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEIx+f8wZb28fLKEhTeFA3/03aocUFAmp5g2MACgkQeFA3/03a
ocVvrAf+Ohyf86sR2E0/0nlQmJFpSsXJDM/7dM1eWXMcGwGU2ocB3qzOQKn+R0eq
hIGYlg7lLst6QYkihm+J3LhXVXOLCIFy7YX4HdgRRrhwvSW+zdsO+L/jhxPjzPZu
haNqnHiSL09zgcZ8evrNmEwfjy4CxGma5nA0YXmEGfOUGos2hrIW/bxmIAt59Q+Y
rHvDvUXa8jAyCLeQhZA8I37EnH8nhLWJzMnboMMn8TpNpyq3+U1t0lgBpzhKURzZ
dczhH2tguQsMsgAOvjCIihz9knX/PeZEmN1vm7wf0q26DuiTTnrnPWZCay2pVsxj
LSQa4hz3coGPyBoYLq5LH4PP7jY1Yw==
=jCUJ
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.