From 6c90999e2e0dee6e5e0322b89e8e6fb6f76aecc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Thu, 14 Jan 2021 12:13:49 +0100 Subject: bcm4908: backport brcmstb USB PHY driver changes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This includes BCM4908 support Signed-off-by: Rafał Miłecki --- ...-usb-fix-driver-to-defer-on-clk_get-defer.patch | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 target/linux/bcm4908/patches-5.4/084-v5.6-0009-phy-usb-fix-driver-to-defer-on-clk_get-defer.patch (limited to 'target/linux/bcm4908/patches-5.4/084-v5.6-0009-phy-usb-fix-driver-to-defer-on-clk_get-defer.patch') 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 +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 +Reviewed-by: Florian Fainelli +Signed-off-by: Kishon Vijay Abraham I +--- + 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; + } -- cgit v1.2.3