[PATCH v4 0/6] iio: accel: bma400: Refactor GENINTR config and register macros

Akshay Jindal posted 6 patches 4 months ago
There is a newer version of this series
drivers/iio/accel/bma400.h      | 148 +++++++++-----
drivers/iio/accel/bma400_core.c | 349 ++++++++++++++++++--------------
2 files changed, 285 insertions(+), 212 deletions(-)
[PATCH v4 0/6] iio: accel: bma400: Refactor GENINTR config and register macros
Posted by Akshay Jindal 4 months ago
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
Re: [PATCH v4 0/6] iio: accel: bma400: Refactor GENINTR config and register macros
Posted by Jonathan Cameron 3 months, 4 weeks ago
On Tue,  7 Oct 2025 11:25:00 +0530
Akshay Jindal <akshayaj.lkd@gmail.com> wrote:

> 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.
Other than comments in patches 1 and 4 this series looks good to me.

Thanks,

Jonathan