[PATCH 7/7] pwm: sifive: Shut down hardware only after pwmchip_remove() completed
Emil Renner Berthing
emil.renner.berthing at canonical.com
Fri Jul 22 10:45:32 PDT 2022
On Thu, 21 Jul 2022 at 12:32, Uwe Kleine-König
<u.kleine-koenig at pengutronix.de> wrote:
> The PWMs are expected to be functional until pwmchip_remove() is called.
> So disable the clks only afterwards.
>
> Fixes: 9e37a53eb051 ("pwm: sifive: Add a driver for SiFive SoC PWM")
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
Hi Uwe,
You didn't send a cover letter so unsure which mail to respond to, but
I tested this series with
https://lore.kernel.org/linux-riscv/20220705210143.315151-1-emil.renner.berthing@canonical.com/
..and everything keeps working, so
Tested-by: Emil Renner Berhing <emil.renner.berthing at canonical.com>
/Emil
> ---
> drivers/pwm/pwm-sifive.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/pwm/pwm-sifive.c b/drivers/pwm/pwm-sifive.c
> index da40ade0ebdf..2d4fa5e5fdd4 100644
> --- a/drivers/pwm/pwm-sifive.c
> +++ b/drivers/pwm/pwm-sifive.c
> @@ -308,6 +308,9 @@ static int pwm_sifive_remove(struct platform_device *dev)
> struct pwm_device *pwm;
> int ch;
>
> + pwmchip_remove(&ddata->chip);
> + clk_notifier_unregister(ddata->clk, &ddata->notifier);
> +
> for (ch = 0; ch < ddata->chip.npwm; ch++) {
> pwm = &ddata->chip.pwms[ch];
> if (pwm->state.enabled)
> @@ -315,8 +318,6 @@ static int pwm_sifive_remove(struct platform_device *dev)
> }
>
> clk_unprepare(ddata->clk);
> - pwmchip_remove(&ddata->chip);
> - clk_notifier_unregister(ddata->clk, &ddata->notifier);
>
> return 0;
> }
> --
> 2.36.1
>
>
> _______________________________________________
> linux-riscv mailing list
> linux-riscv at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-riscv
More information about the linux-riscv
mailing list