Re: [PATCH 1/3] regulator: don't require mutex for regulator_notifier_call_chain()

From: Dmitry Osipenko
Date: Sun Sep 06 2020 - 07:56:01 EST


10.08.2020 07:33, Michał Mirosław пишет:
> Since 3801b86aa482 ("regulator: Refactor supply implementation
> to work as regular consumers") we no longer cascade notifications
> and so notifier head's built-in rwsem is enough to protect the
> notifier chain. Remove the requirement to fix one case where
> rdev->mutex might be forced to be taken recursively.
>
> Signed-off-by: Michał Mirosław <mirq-linux@xxxxxxxxxxxx>
> ---
> drivers/regulator/core.c | 5 +----
> 1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
> index b0662927487c..f4035167e7ba 100644
> --- a/drivers/regulator/core.c
> +++ b/drivers/regulator/core.c
> @@ -4658,14 +4658,11 @@ EXPORT_SYMBOL_GPL(regulator_bulk_free);
> * @data: callback-specific data.
> *
> * Called by regulator drivers to notify clients a regulator event has
> - * occurred. We also notify regulator clients downstream.
> - * Note lock must be held by caller.
> + * occurred.
> */
> int regulator_notifier_call_chain(struct regulator_dev *rdev,
> unsigned long event, void *data)
> {
> - lockdep_assert_held_once(&rdev->mutex.base);
> -
> _notifier_call_chain(rdev, event, data);
> return NOTIFY_DONE;
>
>

Reviewed-by: Dmitry Osipenko <digetx@xxxxxxxxx>