OSDN Git Service

usb: host: xhci-plat: Improve clock handling in probe()
authorBiju Das <biju.das.jz@bp.renesas.com>
Sat, 21 Jan 2023 14:58:48 +0000 (14:58 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 25 Jan 2023 14:48:16 +0000 (15:48 +0100)
It is always better to acquire all the clock resources first and
then do the clock operations.

This patch acquires all the optional clocks first and then calls
corresponding prepare_enable().

There is no functional change.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20230121145853.4792-8-biju.das.jz@bp.renesas.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/xhci-plat.c

index 5fb55bf..11b3a0d 100644 (file)
@@ -257,16 +257,16 @@ static int xhci_plat_probe(struct platform_device *pdev)
                goto put_hcd;
        }
 
-       ret = clk_prepare_enable(xhci->reg_clk);
-       if (ret)
-               goto put_hcd;
-
        xhci->clk = devm_clk_get_optional(&pdev->dev, NULL);
        if (IS_ERR(xhci->clk)) {
                ret = PTR_ERR(xhci->clk);
-               goto disable_reg_clk;
+               goto put_hcd;
        }
 
+       ret = clk_prepare_enable(xhci->reg_clk);
+       if (ret)
+               goto put_hcd;
+
        ret = clk_prepare_enable(xhci->clk);
        if (ret)
                goto disable_reg_clk;