From f6ee281578930123987c1d92722316adda35b927 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Tue, 23 May 2017 15:07:10 +0200 Subject: usb: imx: Only use clock when it exists 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 --- 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); -- cgit v1.2.3