Re: [PATCH v4 0/3] iio: imu: inv_mpu6050: runtime pm fixes

From: Jonathan Cameron

Date: Sun Jun 14 2026 - 14:58:09 EST


On Fri, 5 Jun 2026 12:09:37 +0300
Andrey Skvortsov <andrej.skvortzov@xxxxxxxxx> wrote:

> This patchset fixes problem with inv_mpu6050 driver,
> when it fails after device is suspended by runtime pm during a probe.
> To simplify runtime pm handling in the driver more devm-helpers are used.
>

Hi Andrey,

https://sashiko.dev/#/patchset/20260605090940.1103750-1-andrej.skvortzov%40gmail.com
Has some feedback. Please take a look.

You may need to do some experimentation to confirm but I believe
you can just remove the pm_runtime_get_noresume(dev) and associated
put(). Drivers automatically try to enter autosuspend due to calls in
drivers/base/dd.c when probe is complete if their reference counter is 0.

This dance is therefore not needed. However, please confirm this for yourself.

The other bit of feedback about not powering down if devm_pm_runtime_enable(dev);
fails looks plausible but maybe I'm missing something.

Thanks,

Jonathan


> Andrey Skvortsov (3):
> iio: imu: inv_mpu6050: fix unbalanced regulator_disable() calls, when
> probe fails
> iio: imu: inv_mpu6050: use devres-enabled version of
> pm_runtime_enable()
> iio: imu: inv_mpu6050: control vdd supply using devm-helpers
>
> drivers/iio/imu/inv_mpu6050/inv_mpu_core.c | 49 +++++++---------------
> drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h | 1 -
> 2 files changed, 15 insertions(+), 35 deletions(-)
>
> Changes in v4:
> - update commit messages to address Andy's comment
> about functions, callbacks and runtime PM names
> - move pm_runtime_set_active just before vddio regulator is enabled
> as it was proposed previously in v2.
>
> Changes in v3:
> - make patch "fix unbalanced regulator_disable calls, when probe fails"
> with Fixes to be the first patch of the patchset for easier backporting
> - don't move pm_runtime_set_active, move devm_add_action_or_reset for
> inv_mpu_core_disable_regulator_action instead
> - update commit message in "fix unbalanced regulator_disable calls,
> when probe fails" to fix Andy's comment
> - remove blank lines in "use devres-enabled version of pm_runtime_enable"
> - no dead code in inv_mpu_core_disable_regulator_action anymore since
> st variable is used to get 'struct device' now
>
> Changes in v2:
> - minimize call trace in commit message
> - use runtime pm framework to track vddio regulator state
> - include specific driver name in patch subject
> - add more patches to use device managed functions
>