All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lothar Rubusch <l.rubusch@gmail.com>
To: jic23@kernel.org, dlechner@baylibre.com, nuno.sa@analog.com,
	andy@kernel.org, corbet@lwn.net, lucas.p.stankus@gmail.com,
	lars@metafoo.de, Michael.Hennerich@analog.com,
	bagasdotme@gmail.com
Cc: l.rubusch@gmail.com, linux-iio@vger.kernel.org,
	linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH v4 04/11] iio: accel: adxl313: add function to enable measurement
Date: Sun,  1 Jun 2025 17:21:32 +0000	[thread overview]
Message-ID: <20250601172139.59156-5-l.rubusch@gmail.com> (raw)
In-Reply-To: <20250601172139.59156-1-l.rubusch@gmail.com>

Rework controlling measurement and standby of the sensor. Therefore,
replace writing the register directly by encapsulating this and dealing
with the return value in a separte function to enable and disable
measurement. This will help to avoid redundant code in all locations
where the sensor configuration needs to be adjusted, thus measurement will
be set to standby, in follow up patches.

Further, reduce the control mask to only the measurement bit. The sleep bit
actually controls a different behavior (not just putting the sensor to
standby for configuration, but turning it into sleep mode) and it is not
used so far. In consequence, there is no need to cover sleep bit and
measurement with the same mask.

Signed-off-by: Lothar Rubusch <l.rubusch@gmail.com>
---
 drivers/iio/accel/adxl313.h      |  3 +--
 drivers/iio/accel/adxl313_core.c | 10 +++++++---
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/drivers/iio/accel/adxl313.h b/drivers/iio/accel/adxl313.h
index fc937bdf83b6..9bf2facdbf87 100644
--- a/drivers/iio/accel/adxl313.h
+++ b/drivers/iio/accel/adxl313.h
@@ -36,8 +36,7 @@
 #define ADXL313_RATE_MSK		GENMASK(3, 0)
 #define ADXL313_RATE_BASE		6
 
-#define ADXL313_POWER_CTL_MSK		GENMASK(3, 2)
-#define ADXL313_MEASUREMENT_MODE	BIT(3)
+#define ADXL313_POWER_CTL_MSK		BIT(3)
 
 #define ADXL313_RANGE_MSK		GENMASK(1, 0)
 #define ADXL313_RANGE_MAX		3
diff --git a/drivers/iio/accel/adxl313_core.c b/drivers/iio/accel/adxl313_core.c
index 0c893c286017..6170c9daa30f 100644
--- a/drivers/iio/accel/adxl313_core.c
+++ b/drivers/iio/accel/adxl313_core.c
@@ -63,6 +63,12 @@ bool adxl313_is_volatile_reg(struct device *dev, unsigned int reg)
 }
 EXPORT_SYMBOL_NS_GPL(adxl313_is_volatile_reg, "IIO_ADXL313");
 
+static int adxl313_set_measure_en(struct adxl313_data *data, bool en)
+{
+	return regmap_assign_bits(data->regmap, ADXL313_REG_POWER_CTL,
+				  ADXL313_POWER_CTL_MSK, en);
+}
+
 static int adxl312_check_id(struct device *dev,
 			    struct adxl313_data *data)
 {
@@ -410,9 +416,7 @@ static int adxl313_setup(struct device *dev, struct adxl313_data *data,
 	}
 
 	/* Enables measurement mode */
-	return regmap_update_bits(data->regmap, ADXL313_REG_POWER_CTL,
-				  ADXL313_POWER_CTL_MSK,
-				  ADXL313_MEASUREMENT_MODE);
+	return adxl313_set_measure_en(data, true);
 }
 
 /**
-- 
2.39.5


  parent reply	other threads:[~2025-06-01 17:21 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-01 17:21 [PATCH v4 00/11] iio: accel: adxl313: add power-save on activity/inactivity Lothar Rubusch
2025-06-01 17:21 ` [PATCH v4 01/11] iio: accel: adxl313: add debug register Lothar Rubusch
2025-06-01 19:06   ` Andy Shevchenko
2025-06-08 15:14     ` Jonathan Cameron
2025-06-01 17:21 ` [PATCH v4 02/11] iio: accel: adxl313: introduce channel buffer Lothar Rubusch
2025-06-01 19:08   ` Andy Shevchenko
2025-06-11  8:01     ` Lothar Rubusch
2025-06-11  8:42       ` Andy Shevchenko
2025-06-08 15:17   ` Jonathan Cameron
2025-06-01 17:21 ` [PATCH v4 03/11] iio: accel: adxl313: make use of regmap cache Lothar Rubusch
2025-06-01 19:09   ` Andy Shevchenko
2025-06-08 15:22   ` Jonathan Cameron
2025-06-08 15:38     ` Jonathan Cameron
2025-06-11 13:48       ` Lothar Rubusch
2025-06-11 15:04         ` Jonathan Cameron
2025-06-01 17:21 ` Lothar Rubusch [this message]
2025-06-01 19:12   ` [PATCH v4 04/11] iio: accel: adxl313: add function to enable measurement Andy Shevchenko
2025-06-08 15:27   ` Jonathan Cameron
2025-06-11  8:55     ` Lothar Rubusch
2025-06-11 15:05       ` Jonathan Cameron
2025-06-01 17:21 ` [PATCH v4 05/11] iio: accel: adxl313: prepare interrupt handling Lothar Rubusch
2025-06-01 19:21   ` Andy Shevchenko
2025-06-11  8:26     ` Lothar Rubusch
2025-06-01 17:21 ` [PATCH v4 06/11] iio: accel: adxl313: add basic interrupt handling for FIFO watermark Lothar Rubusch
2025-06-01 19:26   ` Andy Shevchenko
2025-06-08 15:30     ` Jonathan Cameron
2025-06-08 15:44   ` Jonathan Cameron
2025-06-01 17:21 ` [PATCH v4 07/11] iio: accel: adxl313: add activity sensing Lothar Rubusch
2025-06-01 19:38   ` Andy Shevchenko
2025-06-11 14:49     ` Lothar Rubusch
2025-06-11 15:05       ` Andy Shevchenko
2025-06-11 15:15       ` Jonathan Cameron
2025-06-11 15:23         ` Andy Shevchenko
2025-06-08 16:08   ` Jonathan Cameron
2025-06-11 15:06     ` Lothar Rubusch
2025-06-11 16:47       ` Jonathan Cameron
2025-06-01 17:21 ` [PATCH v4 08/11] iio: accel: adxl313: add inactivity sensing Lothar Rubusch
2025-06-01 19:45   ` Andy Shevchenko
2025-06-11 15:36     ` Lothar Rubusch
2025-06-11 16:52       ` Jonathan Cameron
2025-06-08 16:14   ` Jonathan Cameron
2025-06-01 17:21 ` [PATCH v4 09/11] iio: accel: adxl313: implement power-save on inactivity Lothar Rubusch
2025-06-08 16:15   ` Jonathan Cameron
2025-06-01 17:21 ` [PATCH v4 10/11] iio: accel: adxl313: add AC coupled activity/inactivity events Lothar Rubusch
2025-06-01 19:53   ` Andy Shevchenko
2025-06-11 17:12     ` Lothar Rubusch
2025-06-08 16:23   ` Jonathan Cameron
2025-06-11 19:58     ` Lothar Rubusch
2025-06-14 13:33       ` Jonathan Cameron
2025-06-01 17:21 ` [PATCH v4 11/11] docs: iio: add ADXL313 accelerometer Lothar Rubusch
2025-06-02  1:07 ` [PATCH v4 00/11] iio: accel: adxl313: add power-save on activity/inactivity Bagas Sanjaya
2025-06-11 20:04   ` Lothar Rubusch
2025-06-12 12:41     ` Andy Shevchenko

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=20250601172139.59156-5-l.rubusch@gmail.com \
    --to=l.rubusch@gmail.com \
    --cc=Michael.Hennerich@analog.com \
    --cc=andy@kernel.org \
    --cc=bagasdotme@gmail.com \
    --cc=corbet@lwn.net \
    --cc=dlechner@baylibre.com \
    --cc=jic23@kernel.org \
    --cc=lars@metafoo.de \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lucas.p.stankus@gmail.com \
    --cc=nuno.sa@analog.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.