All of lore.kernel.org
 help / color / mirror / Atom feed
From: carlos.song@nxp.com
To: jic23@kernel.org, lars@metafoo.de
Cc: rjones@gateworks.com, Jonathan.Cameron@huawei.com,
	haibo.chen@nxp.com, carlos.song@nxp.com, linux-imx@nxp.com,
	linux-iio@vger.kernel.org
Subject: [PATCH v5 2/4] iio: imu: fxos8700: fix failed initialization ODR mode assignment
Date: Wed, 18 Jan 2023 15:42:25 +0800	[thread overview]
Message-ID: <20230118074227.1665098-3-carlos.song@nxp.com> (raw)
In-Reply-To: <20230118074227.1665098-1-carlos.song@nxp.com>

From: Carlos Song <carlos.song@nxp.com>

The absence of correct offset leads a failed initialization ODR mode
assignment.

Select MAX ODR mode as the initialization ODR mode by field mask and
FIELD_PREP.

Fixes: 84e5ddd5c46e ("iio: imu: Add support for the FXOS8700 IMU")
Signed-off-by: Carlos Song <carlos.song@nxp.com>
---
Changes for V5:
- Use regmap_update_bits instead of regmap_get and regmap_write for
  a good readability.
Changes for V4:
- None
Changes for V3:
- Legal use of FIELD_PREP() and field mask to select initialization
  ODR mode
- Rework commit log
---
 drivers/iio/imu/fxos8700_core.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/iio/imu/fxos8700_core.c b/drivers/iio/imu/fxos8700_core.c
index 419039d3fe86..12433343807a 100644
--- a/drivers/iio/imu/fxos8700_core.c
+++ b/drivers/iio/imu/fxos8700_core.c
@@ -664,8 +664,10 @@ static int fxos8700_chip_init(struct fxos8700_data *data, bool use_spi)
 		return ret;
 
 	/* Max ODR (800Hz individual or 400Hz hybrid), active mode */
-	return regmap_write(data->regmap, FXOS8700_CTRL_REG1,
-			   FXOS8700_CTRL_ODR_MAX | FXOS8700_ACTIVE);
+	return regmap_update_bits(data->regmap, FXOS8700_CTRL_REG1,
+				FXOS8700_CTRL_ODR_MSK | FXOS8700_ACTIVE,
+				FIELD_PREP(FXOS8700_CTRL_ODR_MSK, FXOS8700_CTRL_ODR_MAX) |
+				FXOS8700_ACTIVE);
 }
 
 static void fxos8700_chip_uninit(void *data)
-- 
2.34.1


  parent reply	other threads:[~2023-01-18  8:13 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-18  7:42 [PATCH v5 0/4] iio: imu: fxos8700: fix bugs about ODR and changes for a good readability carlos.song
2023-01-18  7:42 ` [PATCH v5 1/4] iio: imu: fxos8700: fix incorrect ODR mode readback carlos.song
2023-01-18  7:42 ` carlos.song [this message]
2023-01-18  7:42 ` [PATCH v5 3/4] iio: imu: fxos8700: remove definition FXOS8700_CTRL_ODR_MIN carlos.song
2023-01-18  7:42 ` [PATCH v5 4/4] iio: imu: fxos8700: fix MAGN sensor scale and unit carlos.song
2023-01-21 18:15 ` [PATCH v5 0/4] iio: imu: fxos8700: fix bugs about ODR and changes for a good readability Jonathan Cameron

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=20230118074227.1665098-3-carlos.song@nxp.com \
    --to=carlos.song@nxp.com \
    --cc=Jonathan.Cameron@huawei.com \
    --cc=haibo.chen@nxp.com \
    --cc=jic23@kernel.org \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-imx@nxp.com \
    --cc=rjones@gateworks.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.