[PATCH v3 0/1] iio: bmi323: have the peripheral consume less power

From: Denis Benato
Date: Sat Aug 24 2024 - 10:11:46 EST


The bmi323 chip is part of handhelds PCs that are run on battery.

One of said PC is well-known for its short battery life, even in s2idle:
help mitigate that by putting the device in its lowest-consumption
state while the peripheral is unused.

Have runtime-pm suspend callback save used configuration registers
and runtime-pm resume callback restore saved registers to restore
the previous state.

Changelog:
- V2: patch 1:
+ change patch commit message
+ drop removal callbacks and use devm_add_action_or_reset
+ split bmi323_init in two functions
+ separate regs to save and relative value
+ drop unhelpful consts ptr modifiers
+ add a comment to explain why BMI323_FIFO_CTRL_REG is
being used in runtime resume
- V3: patch 1:
+ drop a struct array and replace with an array of
unsigned int: u8 was too small and it would have resulted
in overflow of register addresses
+ use single-line comments where possible
+ drop useless comments
+ remove intermediate variables
+ remove blank lines

Previous patches obsoleted:
https://lore.kernel.org/all/20240811161202.19818-1-benato.denis96@xxxxxxxxx
https://lore.kernel.org/all/20240818150923.20387-1-benato.denis96@xxxxxxxxx

Signed-off-by: Denis Benato <benato.denis96@xxxxxxxxx>

Denis Benato (1):
iio: bmi323: peripheral in lowest power state on suspend

drivers/iio/imu/bmi323/bmi323_core.c | 155 ++++++++++++++++++++++++++-
1 file changed, 153 insertions(+), 2 deletions(-)

--
2.46.0