diff options
Diffstat (limited to 'patches/0802-pwm-rcar-Use-PM-Runtime-to-control-module-clock.patch')
-rw-r--r-- | patches/0802-pwm-rcar-Use-PM-Runtime-to-control-module-clock.patch | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/patches/0802-pwm-rcar-Use-PM-Runtime-to-control-module-clock.patch b/patches/0802-pwm-rcar-Use-PM-Runtime-to-control-module-clock.patch new file mode 100644 index 00000000000000..6483ab09df6927 --- /dev/null +++ b/patches/0802-pwm-rcar-Use-PM-Runtime-to-control-module-clock.patch @@ -0,0 +1,46 @@ +From 431ddf5dddf1928a8fb902ebb18493f4289ab057 Mon Sep 17 00:00:00 2001 +From: Hien Dang <hien.dang.eb@renesas.com> +Date: Tue, 13 Mar 2018 17:18:17 +0900 +Subject: [PATCH 0802/1795] pwm: rcar: Use PM Runtime to control module clock + +Runtime PM API (pm_runtime_get_sync/pm_runtime_put) should be used +to control module clock instead of clk_prepare_enable and +clk_disable_unprepare. + +Signed-off-by: Hien Dang <hien.dang.eb@renesas.com> +Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> +Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> +Signed-off-by: Thierry Reding <thierry.reding@gmail.com> +(cherry picked from commit f2e6142cdc10b1b7edea8d65b07293f152e4d110) +Signed-off-by: Simon Horman <horms+renesas@verge.net.au> +Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> +--- + drivers/pwm/pwm-rcar.c | 8 ++------ + 1 file changed, 2 insertions(+), 6 deletions(-) + +diff --git a/drivers/pwm/pwm-rcar.c b/drivers/pwm/pwm-rcar.c +index 0fcf94ffad32..f4d8767f804e 100644 +--- a/drivers/pwm/pwm-rcar.c ++++ b/drivers/pwm/pwm-rcar.c +@@ -134,16 +134,12 @@ static int rcar_pwm_set_counter(struct rcar_pwm_chip *rp, int div, int duty_ns, + + static int rcar_pwm_request(struct pwm_chip *chip, struct pwm_device *pwm) + { +- struct rcar_pwm_chip *rp = to_rcar_pwm_chip(chip); +- +- return clk_prepare_enable(rp->clk); ++ return pm_runtime_get_sync(chip->dev); + } + + static void rcar_pwm_free(struct pwm_chip *chip, struct pwm_device *pwm) + { +- struct rcar_pwm_chip *rp = to_rcar_pwm_chip(chip); +- +- clk_disable_unprepare(rp->clk); ++ pm_runtime_put(chip->dev); + } + + static int rcar_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, +-- +2.19.0 + |