regulator: core: Fix application of "drop lockdep annotation in drms_uA_update()"
authorMark Brown <broonie@kernel.org>
Mon, 18 Feb 2019 19:29:14 +0000 (20:29 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 18 Mar 2019 15:01:37 +0000 (15:01 +0000)
[The original commit was sent against -next but needed to be sent as a
bugfix, however -next had some additional changes which needed to be
reverted.  Now everything is all in one branch applying the rest of the
changes to fix up the merge issue -- broonie]

commit e5e21f70bfd3 ("regulator: core: Take lock before applying system
load") took the regulator lock before calling drms_uA_update() in order
to silence a lockdep warning during regulator_register().

However, we are not supposed to need locks at this point as the regulator
is in the process of being registered, so there should be no possibility
of concurrent access.

Instead, remove the unnecessary locking and simply drop the lockdep
annotation, since it is no longer valid.

Fixes: e5e21f70bfd3 ("regulator: core: Take lock before applying system load")
Signed-off-by: Niklas Cassel <niklas.cassel@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/regulator/core.c

index 68473d0cc57e94f2b2af51d66ec3f3d448238af9..5a9ebcf7fe7a701bea5057c8b4483ddc605684a8 100644 (file)
@@ -1339,9 +1339,7 @@ static int set_machine_constraints(struct regulator_dev *rdev,
                 * We'll only apply the initial system load if an
                 * initial mode wasn't specified.
                 */
-               regulator_lock(rdev);
                drms_uA_update(rdev);
-               regulator_unlock(rdev);
        }
 
        if ((rdev->constraints->ramp_delay || rdev->constraints->ramp_disable)