[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251007055511.108984-1-akshayaj.lkd@gmail.com>
Date: Tue, 7 Oct 2025 11:25:00 +0530
From: Akshay Jindal <akshayaj.lkd@...il.com>
To: dan@...obertson.com,
jic23@...nel.org,
dlechner@...libre.com,
nuno.sa@...log.com,
andy@...nel.org
Cc: Akshay Jindal <akshayaj.lkd@...il.com>,
shuah@...nel.org,
linux-iio@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH v4 0/6] iio: accel: bma400: Refactor GENINTR config and register macros
This series refactors the BMA400 driver with a focus on generic interrupt
configuration and related register usage. The main changes reduce
usage of hard-coded values by introducing macros and formula-based
register addressing, and add a centralized lookup indexed on iio event
direction.
Alongside these updates, the series also reorganizes and renames register
and field macros for consistency with the datasheet, and extends comments
for additional clarity.
All patches are pure refactoring. No functional changes are intended.
Akshay Jindal (6):
iio: accel: bma400: Reorganize and rename register and field macros
iio: accel: bma400: Use macros for generic event configuration values
iio: accel: bma400: Use index-based register addressing and lookup
iio: accel: bma400: Replace bit shifts with FIELD_PREP and FIELD_GET
iio: accel: bma400: Rename activity_event_en() to generic_event_en()
iio: accel: bma400: Add detail to comments in GEN INTR configuration
Changes since v3:
- Insert a new patch into the patch series for replacing explicit bit
shifts with FIELD_GET and FIELD_PREP macros
- Assigned explicit values to reg field enums introduced.
Changes since v2:
- Split single patch into five smaller patches as suggested
- Addressed review comments related to trailing comma [Patch 2/5]
- Extended renaming of macros to TAP_CONFIG registers [Patch 1/5]
- Addressed review comment received regarding write then replace in
activity_event_en() [Patch 3/5]
Testing Summary:
- Tested on raspberrypi 4b and 7-semi bma400 sensor breakout board.
- Since no functional impact is there, so before functionality is
expected to be equal to after change functionality.
- Tested mapping of GEN1 and GEN2 both on INT1 pin as before.
- Tested both activity and inactivity detection by setting attributes
events/in_accel_mag_falling_en as well as events/in_accel_mag_rising_en.
- Did read and writes on various attributes such that write_event_config(),
write_event_value() and read_event_value() callbacks are triggered.
drivers/iio/accel/bma400.h | 148 +++++++++-----
drivers/iio/accel/bma400_core.c | 349 ++++++++++++++++++--------------
2 files changed, 285 insertions(+), 212 deletions(-)
--
2.43.0
Powered by blists - more mailing lists