[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-----