[PATCH] usb: imx: Only use clock when it exists

Sascha Hauer s.hauer at pengutronix.de
Tue May 23 06:09:37 PDT 2017

Fixes: bbe0df90b8e2463dd8db651e9f1dd57702985d2d

I assumed all chipidea devices actually have a clock. This is true
when looking at the device tree, but in barebox not all i.MX SoCs
use the clocks provided by the device tree. Most instead use
clkdev_add_physbase() to attach a clocks to devices. For these the
chipidea device does not have a clock.

Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
 drivers/usb/imx/chipidea-imx.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/usb/imx/chipidea-imx.c b/drivers/usb/imx/chipidea-imx.c
index 67d01d3de5..39593c40fb 100644
--- a/drivers/usb/imx/chipidea-imx.c
+++ b/drivers/usb/imx/chipidea-imx.c
@@ -276,10 +276,8 @@ static int imx_chipidea_probe(struct device_d *dev)
 	 * devices which have only one.
 	ci->clk = clk_get(dev, NULL);
-	if (IS_ERR(ci->clk))
-		return PTR_ERR(ci->clk);
-	clk_enable(ci->clk);
+	if (!IS_ERR(ci->clk))
+		clk_enable(ci->clk);
 	if (of_property_read_bool(dev->device_node, "fsl,usbphy")) {
 		ci->phy = of_phy_get_by_phandle(dev, "fsl,usbphy", 0);

More information about the barebox mailing list