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 v3 1/5] iio: imu: fxos8700: fix incorrect ODR mode readback
Date: Wed, 14 Dec 2022 11:14:59 +0800	[thread overview]
Message-ID: <20221214031503.3104251-2-carlos.song@nxp.com> (raw)
In-Reply-To: <20221214031503.3104251-1-carlos.song@nxp.com>

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

The absence of a correct offset leads an incorrect ODR mode
readback after use a hexadecimal number to mark the value from
FXOS8700_CTRL_REG1.

Get ODR mode by field mask and FIELD_GET clearly and conveniently.

Fixes: 84e5ddd5c46e ("iio: imu: Add support for the FXOS8700 IMU")
Signed-off-by: Carlos Song <carlos.song@nxp.com>

Changes for V3:
- Rework commit log

diff --git a/drivers/iio/imu/fxos8700_core.c b/drivers/iio/imu/fxos8700_core.c
index 773f62203bf0..83ab7d0f79b3 100644
--- a/drivers/iio/imu/fxos8700_core.c
+++ b/drivers/iio/imu/fxos8700_core.c
@@ -10,6 +10,7 @@
 #include <linux/regmap.h>
 #include <linux/acpi.h>
 #include <linux/bitops.h>
+#include <linux/bitfield.h>
 
 #include <linux/iio/iio.h>
 #include <linux/iio/sysfs.h>
@@ -147,6 +148,7 @@
 #define FXOS8700_CTRL_ODR_MSK       0x38
 #define FXOS8700_CTRL_ODR_MAX       0x00
 #define FXOS8700_CTRL_ODR_MIN       GENMASK(4, 3)
+#define FXOS8700_CTRL_ODR_GENMSK    GENMASK(5, 3)
 
 /* Bit definitions for FXOS8700_M_CTRL_REG1 */
 #define FXOS8700_HMS_MASK           GENMASK(1, 0)
@@ -524,7 +526,7 @@ static int fxos8700_get_odr(struct fxos8700_data *data, enum fxos8700_sensor t,
 	if (ret)
 		return ret;
 
-	val &= FXOS8700_CTRL_ODR_MSK;
+	val = FIELD_GET(FXOS8700_CTRL_ODR_GENMSK, val);
 
 	for (i = 0; i < odr_num; i++)
 		if (val == fxos8700_odr[i].bits)
-- 
2.34.1


  reply	other threads:[~2022-12-14  3:15 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-14  3:14 [PATCH v3 0/5] iio: imu: fxos8700: fix bugs about ODR and changes for a good readability carlos.song
2022-12-14  3:14 ` carlos.song [this message]
2022-12-23 16:55   ` [PATCH v3 1/5] iio: imu: fxos8700: fix incorrect ODR mode readback Jonathan Cameron
2022-12-23 16:58     ` Jonathan Cameron
2022-12-14  3:15 ` [PATCH v3 2/5] iio: imu: fxos8700: improve readability by field mask and regmap_write carlos.song
2022-12-23 16:59   ` Jonathan Cameron
2022-12-14  3:15 ` [PATCH v3 3/5] iio: imu: fxos8700: fix failed initialization ODR mode assignment carlos.song
2022-12-14  3:15 ` [PATCH v3 4/5] iio: imu: fxos8700: remove definition FXOS8700_CTRL_ODR_MIN carlos.song
2022-12-14  3:15 ` [PATCH v3 5/5] iio: imu: fxos8700: fix MAGN sensor scale and unit carlos.song
2022-12-23 17:01   ` 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=20221214031503.3104251-2-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.