public inbox for linux-iio@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/5] iio: imu: inv_icm42600: pm_runtime fixes + various changes
@ 2025-09-09  7:11 Sean Nyekjaer
  2025-09-09  7:11 ` [PATCH v4 1/5] iio: imu: inv_icm42600: Simplify pm_runtime setup Sean Nyekjaer
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Sean Nyekjaer @ 2025-09-09  7:11 UTC (permalink / raw)
  To: Jean-Baptiste Maneyrol, rafael, Jonathan Cameron, David Lechner,
	Nuno Sá, Andy Shevchenko
  Cc: linux-iio, linux-kernel, linux-pm, Jean-Baptiste Maneyrol,
	Jonathan Cameron, Sean Nyekjaer

This series was triggered by "Runtime PM usage count underflow!" when
unloading the module(s).
By testing the driver in various use cases and reading code it was
obvious that it could need some tiding up.

@Rafael:
Is checking pm_runtime_status_suspended() is a viable option?
To avoid calling regulator_disable 2x during remove()?

Signed-off-by: Sean Nyekjaer <sean@geanix.com>
---
Changes in v4:
- Corrected review comments from David in PATCH 5/5
- Link to v3: https://lore.kernel.org/r/20250901-icm42pmreg-v3-0-ef1336246960@geanix.com

Changes in v3:
- Return early if pm_runtime_status_suspended() is set.
- Fixed various comments from Andy in "use guard() to release mutexes" 
- Link to v2: https://lore.kernel.org/r/20250808-icm42pmreg-v2-0-a480279e7721@geanix.com

Changes in v2:
- Removed patch iio: imu: inv_icm42600: Use inv_icm42600_disable_vddio_reg()
- Moved changes from patch iio: imu: inv_icm42600: Remove redundant
  error msg on regulator_disable() into iio: imu: inv_icm42600: Simplify
  pm_runtime setup.
- Move associated sleep close to enabling of vdd
- Pass regulator as the parameter to inv_icm42600_disable_vddio_reg()
- Use devm_pm_runtime_set_active_enabled() to simplify even more
- Added a new commit that uses guard() to release mutexes
- Link to v1: https://lore.kernel.org/r/20250709-icm42pmreg-v1-0-3d0e793c99b2@geanix.com

---
Sean Nyekjaer (5):
      iio: imu: inv_icm42600: Simplify pm_runtime setup
      iio: imu: inv_icm42600: Drop redundant pm_runtime reinitialization in resume
      iio: imu: inv_icm42600: Avoid configuring if already pm_runtime suspended
      iio: imu: inv_icm42600: Use devm_regulator_get_enable() for vdd regulator
      iio: imu: inv_icm42600: use guard() to release mutexes

 drivers/iio/imu/inv_icm42600/inv_icm42600.h        |   1 -
 drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c  |  24 ++---
 drivers/iio/imu/inv_icm42600/inv_icm42600_buffer.c |  41 ++++----
 drivers/iio/imu/inv_icm42600/inv_icm42600_core.c   | 117 +++++++--------------
 drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c   |  24 ++---
 5 files changed, 70 insertions(+), 137 deletions(-)
---
base-commit: dfbbee0907fb30a1dd31ff1a84e1bd34bd824369
change-id: 20250708-icm42pmreg-24d824d978c4

Best regards,
-- 
Sean Nyekjaer <sean@geanix.com>


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2025-09-10 18:36 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-09  7:11 [PATCH v4 0/5] iio: imu: inv_icm42600: pm_runtime fixes + various changes Sean Nyekjaer
2025-09-09  7:11 ` [PATCH v4 1/5] iio: imu: inv_icm42600: Simplify pm_runtime setup Sean Nyekjaer
2025-09-09  7:11 ` [PATCH v4 2/5] iio: imu: inv_icm42600: Drop redundant pm_runtime reinitialization in resume Sean Nyekjaer
2025-09-09  7:11 ` [PATCH v4 3/5] iio: imu: inv_icm42600: Avoid configuring if already pm_runtime suspended Sean Nyekjaer
2025-09-09  7:11 ` [PATCH v4 4/5] iio: imu: inv_icm42600: Use devm_regulator_get_enable() for vdd regulator Sean Nyekjaer
2025-09-09  7:11 ` [PATCH v4 5/5] iio: imu: inv_icm42600: use guard() to release mutexes Sean Nyekjaer
2025-09-09 11:39   ` Andy Shevchenko
2025-09-09 11:53     ` Sean Nyekjaer
2025-09-09 13:15       ` Andy Shevchenko
2025-09-10 18:36         ` Jonathan Cameron
2025-09-09 14:03   ` David Lechner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox