diff options
Diffstat (limited to 'target/linux/bcm4908/patches-5.4/084-v5.6-0009-phy-usb-fix-driver-to-defer-on-clk_get-defer.patch')
-rw-r--r-- | target/linux/bcm4908/patches-5.4/084-v5.6-0009-phy-usb-fix-driver-to-defer-on-clk_get-defer.patch | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/target/linux/bcm4908/patches-5.4/084-v5.6-0009-phy-usb-fix-driver-to-defer-on-clk_get-defer.patch b/target/linux/bcm4908/patches-5.4/084-v5.6-0009-phy-usb-fix-driver-to-defer-on-clk_get-defer.patch new file mode 100644 index 0000000000..a9e4b60ea6 --- /dev/null +++ b/target/linux/bcm4908/patches-5.4/084-v5.6-0009-phy-usb-fix-driver-to-defer-on-clk_get-defer.patch @@ -0,0 +1,44 @@ +From 89927fe0061aaa69b39e95ed793d2c61903b7895 Mon Sep 17 00:00:00 2001 +From: Al Cooper <alcooperx@gmail.com> +Date: Fri, 3 Jan 2020 13:18:07 -0500 +Subject: [PATCH] phy: usb: fix driver to defer on clk_get defer + +Handle defer on clk_get because the new SCMI clock driver comes +up after this driver. + +Signed-off-by: Al Cooper <alcooperx@gmail.com> +Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> +Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> +--- + drivers/phy/broadcom/phy-brcm-usb.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +--- a/drivers/phy/broadcom/phy-brcm-usb.c ++++ b/drivers/phy/broadcom/phy-brcm-usb.c +@@ -341,6 +341,8 @@ static int brcm_usb_phy_dvr_init(struct + + priv->usb_20_clk = of_clk_get_by_name(dn, "sw_usb"); + if (IS_ERR(priv->usb_20_clk)) { ++ if (PTR_ERR(priv->usb_20_clk) == -EPROBE_DEFER) ++ return -EPROBE_DEFER; + dev_info(dev, "Clock not found in Device Tree\n"); + priv->usb_20_clk = NULL; + } +@@ -371,6 +373,8 @@ static int brcm_usb_phy_dvr_init(struct + + priv->usb_30_clk = of_clk_get_by_name(dn, "sw_usb3"); + if (IS_ERR(priv->usb_30_clk)) { ++ if (PTR_ERR(priv->usb_30_clk) == -EPROBE_DEFER) ++ return -EPROBE_DEFER; + dev_info(dev, + "USB3.0 clock not found in Device Tree\n"); + priv->usb_30_clk = NULL; +@@ -382,6 +386,8 @@ static int brcm_usb_phy_dvr_init(struct + + priv->suspend_clk = clk_get(dev, "usb0_freerun"); + if (IS_ERR(priv->suspend_clk)) { ++ if (PTR_ERR(priv->suspend_clk) == -EPROBE_DEFER) ++ return -EPROBE_DEFER; + dev_err(dev, "Suspend Clock not found in Device Tree\n"); + priv->suspend_clk = NULL; + } |