From: Michał Mirosław Date: Sat, 4 Apr 2020 00:00:05 +0000 (+0200) Subject: usb: chipidea: usb2: make clock optional X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=c2de37b31f178c4a4164751e9fef19acd3ceb913;p=linux.git usb: chipidea: usb2: make clock optional Allow clock to be missing from DT (assume it's enabled then). Signed-off-by: Michał Mirosław Signed-off-by: Peter Chen --- diff --git a/drivers/usb/chipidea/ci_hdrc_usb2.c b/drivers/usb/chipidea/ci_hdrc_usb2.c index bf300a234e649..9086514840ed3 100644 --- a/drivers/usb/chipidea/ci_hdrc_usb2.c +++ b/drivers/usb/chipidea/ci_hdrc_usb2.c @@ -64,13 +64,14 @@ static int ci_hdrc_usb2_probe(struct platform_device *pdev) if (!priv) return -ENOMEM; - priv->clk = devm_clk_get(dev, NULL); - if (!IS_ERR(priv->clk)) { - ret = clk_prepare_enable(priv->clk); - if (ret) { - dev_err(dev, "failed to enable the clock: %d\n", ret); - return ret; - } + priv->clk = devm_clk_get_optional(dev, NULL); + if (IS_ERR(priv->clk)) + return PTR_ERR(priv->clk);; + + ret = clk_prepare_enable(priv->clk); + if (ret) { + dev_err(dev, "failed to enable the clock: %d\n", ret); + return ret; } ci_pdata->name = dev_name(dev); @@ -94,8 +95,7 @@ static int ci_hdrc_usb2_probe(struct platform_device *pdev) return 0; clk_err: - if (!IS_ERR(priv->clk)) - clk_disable_unprepare(priv->clk); + clk_disable_unprepare(priv->clk); return ret; }