[PATCH] pwm: brcmstb: Utilize appropriate clock APIs in suspend/resume

Uwe Kleine-König u.kleine-koenig at pengutronix.de
Wed Oct 4 23:20:32 PDT 2023


Hello Florian,

On Wed, Oct 04, 2023 at 10:54:14AM -0700, Florian Fainelli wrote:
> The suspend/resume functions currently utilize
> clk_disable()/clk_enable() respectively which may be no-ops with certain
> clock providers such as SCMI. Fix this to use clk_disable_unprepare()
> and clk_prepare_enable() respectively as we should.
> 
> Fixes: 3a9f5957020f ("pwm: Add Broadcom BCM7038 PWM controller support")
> Signed-off-by: Florian Fainelli <florian.fainelli at broadcom.com>
> ---
>  drivers/pwm/pwm-brcmstb.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/pwm/pwm-brcmstb.c b/drivers/pwm/pwm-brcmstb.c
> index a3faa9a3de7c..a7d529bf76ad 100644
> --- a/drivers/pwm/pwm-brcmstb.c
> +++ b/drivers/pwm/pwm-brcmstb.c
> @@ -288,7 +288,7 @@ static int brcmstb_pwm_suspend(struct device *dev)
>  {
>  	struct brcmstb_pwm *p = dev_get_drvdata(dev);
>  
> -	clk_disable(p->clk);
> +	clk_disable_unprepare(p->clk);
>  
>  	return 0;
>  }
> @@ -297,7 +297,7 @@ static int brcmstb_pwm_resume(struct device *dev)
>  {
>  	struct brcmstb_pwm *p = dev_get_drvdata(dev);
>  
> -	clk_enable(p->clk);
> +	clk_prepare_enable(p->clk);

While at it: Add another patch that checks the return value of
clk_prepare_enable()?

Orthogonally to that, the patch looks fine:

Acked-by: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20231005/44161446/attachment-0001.sig>


More information about the linux-arm-kernel mailing list