Re: [PATCH] mfd: arizona: Correct calling of runtime_put_sync
From: Charles Keepax
Date: Mon Aug 20 2018 - 10:17:20 EST
On Mon, Aug 20, 2018 at 03:59:01PM +0530, sapthagiri.baratam@xxxxxxxxx wrote:
> From: Sapthagiri Baratam <sapthagiri.baratam@xxxxxxxxxx>
>
> Don't call runtime_put_sync when clk32k_ref is ARIZONA_32KZ_MCLK2
> as there is no corresponding runtime_get_sync call.
>
> MCLK1 is not in the AoD power domain so if it is used as 32kHz clock
> source we need to hold a runtime PM reference to keep the device from
> going into low power mode.
>
> fixes: cdd8da8cc66b ("mfd: arizona: Add gating of external MCLKn clocks")
> Signed-off-by: baratam <sapthagiri.baratam@xxxxxxxxxx>
You should have your full name here too.
Otherwise the change looks good to me:
Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxx>
Thanks,
Charles
> ---
> drivers/mfd/arizona-core.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/mfd/arizona-core.c b/drivers/mfd/arizona-core.c
> index c7c3d72..190f9a4 100644
> --- a/drivers/mfd/arizona-core.c
> +++ b/drivers/mfd/arizona-core.c
> @@ -53,8 +53,10 @@ int arizona_clk32k_enable(struct arizona *arizona)
> if (ret != 0)
> goto err_ref;
> ret = clk_prepare_enable(arizona->mclk[ARIZONA_MCLK1]);
> - if (ret != 0)
> - goto err_pm;
> + if (ret != 0) {
> + pm_runtime_put_sync(arizona->dev);
> + goto err_ref;
> + }
> break;
> case ARIZONA_32KZ_MCLK2:
> ret = clk_prepare_enable(arizona->mclk[ARIZONA_MCLK2]);
> @@ -68,8 +70,6 @@ int arizona_clk32k_enable(struct arizona *arizona)
> ARIZONA_CLK_32K_ENA);
> }
>
> -err_pm:
> - pm_runtime_put_sync(arizona->dev);
> err_ref:
> if (ret != 0)
> arizona->clk32k_ref--;
> --
> 1.9.1