From: Andy Shevchenko <andriy.shevchenko@intel.com>
To: Lothar Rubusch <l.rubusch@gmail.com>
Cc: lars@metafoo.de, Michael.Hennerich@analog.com, jic23@kernel.org,
dlechner@baylibre.com, nuno.sa@analog.com, andy@kernel.org,
corbet@lwn.net, linux-iio@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org,
eraretuya@gmail.com
Subject: Re: [PATCH v10 3/7] iio: accel: adxl345: add activity event feature
Date: Mon, 23 Jun 2025 12:34:04 +0300 [thread overview]
Message-ID: <aFkfjAekGJTU5o71@smile.fi.intel.com> (raw)
In-Reply-To: <20250622155010.164451-4-l.rubusch@gmail.com>
On Sun, Jun 22, 2025 at 03:50:06PM +0000, Lothar Rubusch wrote:
> Enable the sensor to detect activity and trigger interrupts accordingly.
> Activity events are determined based on a threshold, which is initialized
> to a sensible default during probe. This default value is adopted from the
> legacy ADXL345 input driver to maintain consistent behavior.
>
> The combination of activity detection, ODR configuration, and range
> settings lays the groundwork for the activity/inactivity hysteresis
> mechanism, which will be implemented in a subsequent patch. As such,
> portions of this patch prepare switch-case structures to support those
> upcoming changes.
...
> +static int adxl345_set_act_inact_en(struct adxl345_state *st,
> + enum adxl345_activity_type type,
> + bool cmd_en)
> +{
> + unsigned int axis_ctrl;
> + unsigned int threshold;
> + int ret;
> +
> + if (cmd_en) {
> + /* When turning on, check if threshold is valid */
> + ret = regmap_read(st->regmap,
> + adxl345_act_thresh_reg[type],
> + &threshold);
Can occupy less LoCs.
> + if (ret)
> + return ret;
> +
> + if (!threshold) /* Just ignore the command if threshold is 0 */
> + return 0;
> + }
> +
> + /* Start modifying configuration registers */
> + ret = adxl345_set_measure_en(st, false);
> + if (ret)
> + return ret;
> +
> + /* Enable axis according to the command */
> + switch (type) {
> + case ADXL345_ACTIVITY:
> + axis_ctrl = ADXL345_ACT_X_EN | ADXL345_ACT_Y_EN |
> + ADXL345_ACT_Z_EN;
I think
axis_ctrl =
ADXL345_ACT_X_EN | ADXL345_ACT_Y_EN | ADXL345_ACT_Z_EN;
is slightly better to read.
> + break;
> + default:
> + return -EINVAL;
> + }
> +
> + ret = regmap_assign_bits(st->regmap, ADXL345_REG_ACT_INACT_CTRL,
> + axis_ctrl, cmd_en);
> + if (ret)
> + return ret;
> +
> + /* Enable the interrupt line, according to the command */
> + ret = regmap_assign_bits(st->regmap, ADXL345_REG_INT_ENABLE,
> + adxl345_act_int_reg[type], cmd_en);
> + if (ret)
> + return ret;
> +
> + return adxl345_set_measure_en(st, true);
> +}
...
> + case IIO_EV_TYPE_MAG:
> + return adxl345_read_mag_config(st, dir,
> + ADXL345_ACTIVITY);
It looks like you set the editor to wrap at 72 characters, but here the single
line less than 80! Note that the limit is *exactly* 80 character.
...
> + case IIO_EV_TYPE_MAG:
> + return adxl345_write_mag_config(st, dir,
> + ADXL345_ACTIVITY,
Ditto.
...
> + return adxl345_read_mag_value(st, dir, info,
> + ADXL345_ACTIVITY,
> + val, val2);
Ditto and so on...
--
With Best Regards,
Andy Shevchenko
next prev parent reply other threads:[~2025-06-23 9:34 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-22 15:50 [PATCH v10 0/7] iio: accel: adxl345: add interrupt based sensor events Lothar Rubusch
2025-06-22 15:50 ` [PATCH v10 1/7] iio: accel: adxl345: simplify interrupt mapping Lothar Rubusch
2025-06-23 9:24 ` Andy Shevchenko
2025-06-22 15:50 ` [PATCH v10 2/7] iio: accel: adxl345: simplify reading the FIFO Lothar Rubusch
2025-06-22 15:50 ` [PATCH v10 3/7] iio: accel: adxl345: add activity event feature Lothar Rubusch
2025-06-23 9:34 ` Andy Shevchenko [this message]
2025-06-23 20:57 ` Lothar Rubusch
2025-06-24 7:28 ` Andy Shevchenko
2025-06-28 16:05 ` Jonathan Cameron
2025-06-22 15:50 ` [PATCH v10 4/7] iio: accel: adxl345: add inactivity feature Lothar Rubusch
2025-06-23 9:44 ` Andy Shevchenko
2025-06-23 21:06 ` Lothar Rubusch
2025-06-24 7:33 ` Andy Shevchenko
2025-06-24 8:27 ` Lothar Rubusch
2025-06-28 16:08 ` Jonathan Cameron
2025-06-28 21:10 ` Lothar Rubusch
2025-06-29 7:30 ` Andy Shevchenko
2025-06-29 16:28 ` Jonathan Cameron
2025-06-22 15:50 ` [PATCH v10 5/7] iio: accel: adxl345: add coupling detection for activity/inactivity Lothar Rubusch
2025-06-23 10:11 ` Andy Shevchenko
2025-06-22 15:50 ` [PATCH v10 6/7] iio: accel: adxl345: extend inactivity time for less than 1s Lothar Rubusch
2025-06-23 10:17 ` Andy Shevchenko
2025-06-23 21:21 ` Lothar Rubusch
2025-06-24 7:37 ` Andy Shevchenko
2025-06-24 8:18 ` Lothar Rubusch
2025-06-24 8:36 ` Andy Shevchenko
2025-06-22 15:50 ` [PATCH v10 7/7] docs: iio: add documentation for adxl345 driver Lothar Rubusch
2025-06-28 16:17 ` Jonathan Cameron
2025-06-23 9:45 ` [PATCH v10 0/7] iio: accel: adxl345: add interrupt based sensor events 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=aFkfjAekGJTU5o71@smile.fi.intel.com \
--to=andriy.shevchenko@intel.com \
--cc=Michael.Hennerich@analog.com \
--cc=andy@kernel.org \
--cc=corbet@lwn.net \
--cc=dlechner@baylibre.com \
--cc=eraretuya@gmail.com \
--cc=jic23@kernel.org \
--cc=l.rubusch@gmail.com \
--cc=lars@metafoo.de \
--cc=linux-doc@vger.kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--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.