]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
pwm: brcmstb: Utilize appropriate clock APIs in suspend/resume
authorFlorian Fainelli <florian.fainelli@broadcom.com>
Wed, 4 Oct 2023 17:54:14 +0000 (10:54 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 20 Nov 2023 09:30:15 +0000 (10:30 +0100)
[ Upstream commit e9bc4411548aaa738905d37851a0146c16b3bb21 ]

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@broadcom.com>
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/pwm/pwm-brcmstb.c

index fea612c45f200e154cec3cb6f062d7c5bc842f4d..fd8479cd6771539b6f921149e21a8951eca19c80 100644 (file)
@@ -298,7 +298,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;
 }
@@ -307,7 +307,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);
 
        return 0;
 }