[PATCH v2] serial: sifive: enable clocks for UART when probed
Palmer Dabbelt
palmer at dabbelt.com
Tue Sep 20 13:37:26 PDT 2022
On Tue, 20 Sep 2022 09:00:18 PDT (-0700), Olof Johansson wrote:
> When the PWM driver was changed to disable clocks if no PWMs are enabled,
> it ended up also disabling the shared parent with the UART, since the
> UART doesn't do any clock enablement on its own.
>
> To avoid these surprises, switch to clk_get_enabled().
>
> Fixes: ace41d7564e655 ("pwm: sifive: Ensure the clk is enabled exactly once per running PWM")
> Cc: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
> Cc: Emil Renner Berthing <emil.renner.berthing at canonical.com>
> Cc: Palmer Dabbelt <palmer at dabbelt.com>
> Cc: Paul Walmsley <paul.walmsley at sifive.com>
> Signed-off-by: Olof Johansson <olof at lixom.net>
>
> ---
>
> v2: Switch to devm_clk_enabled() per Uwe's suggestion.
>
> ---
> drivers/tty/serial/sifive.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/tty/serial/sifive.c b/drivers/tty/serial/sifive.c
> index 5c3a07546a58..4b1d4fe8458e 100644
> --- a/drivers/tty/serial/sifive.c
> +++ b/drivers/tty/serial/sifive.c
> @@ -945,7 +945,7 @@ static int sifive_serial_probe(struct platform_device *pdev)
> return PTR_ERR(base);
> }
>
> - clk = devm_clk_get(&pdev->dev, NULL);
> + clk = devm_clk_get_enabled(&pdev->dev, NULL);
> if (IS_ERR(clk)) {
> dev_err(&pdev->dev, "unable to find controller clock\n");
> return PTR_ERR(clk);
I have one of these lying around somewhere if you need someone to test
it, but sounds like you had from the v1 email. Either way
Acked-by: Palmer Dabbelt <palmer at rivosinc.com>
Reviewed-by: Palmer Dabbelt <palmer at rivosinc.com>
as this seems better than what was there.
Thanks!
More information about the linux-riscv
mailing list