usb: dwc2: get optional clock by devm_clk_get_optional()
authorChunfeng Yun <chunfeng.yun@mediatek.com>
Wed, 17 Apr 2019 08:28:19 +0000 (16:28 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 19 Apr 2019 12:24:26 +0000 (14:24 +0200)
When the driver tries to get optional clock, it ignores all errors,
but if only ignores -ENOENT, it will cover some real errors, such as
-EPROBE_DEFER, so use devm_clk_get_optional() to get optional clock.

Cc: Minas Harutyunyan <hminas@synopsys.com>
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
Acked-by: Minas Harutyunyan <hminas@synopsys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/dwc2/platform.c

index c0b64d48355237bce6b35c25e8e75ce362b300f3..9aa9682a5cd2605a3e61cda5982b06a922a83b81 100644 (file)
@@ -284,10 +284,10 @@ static int dwc2_lowlevel_hw_init(struct dwc2_hsotg *hsotg)
        }
 
        /* Clock */
-       hsotg->clk = devm_clk_get(hsotg->dev, "otg");
+       hsotg->clk = devm_clk_get_optional(hsotg->dev, "otg");
        if (IS_ERR(hsotg->clk)) {
-               hsotg->clk = NULL;
-               dev_dbg(hsotg->dev, "cannot get otg clock\n");
+               dev_err(hsotg->dev, "cannot get otg clock\n");
+               return PTR_ERR(hsotg->clk);
        }
 
        /* Regulators */