Unverified Commit 3f4aad6e authored by Peter Chen's avatar Peter Chen
Browse files

usb: chipidea: imx: refine the error handling for hsic



- -EPROBE_DEFER is an error, but without need show error message
- If pintrol is not existed, as pintrol is NULL

Signed-off-by: default avatarPeter Chen <peter.chen@nxp.com>
parent 7d5ec335
Loading
Loading
Loading
Loading
+9 −6
Original line number Diff line number Diff line
@@ -330,7 +330,10 @@ static int ci_hdrc_imx_probe(struct platform_device *pdev)
		pdata.flags |= CI_HDRC_IMX_IS_HSIC;
		data->usbmisc_data->hsic = 1;
		data->pinctrl = devm_pinctrl_get(dev);
		if (IS_ERR(data->pinctrl)) {
		if (PTR_ERR(data->pinctrl) == -ENODEV)
			data->pinctrl = NULL;
		else if (IS_ERR(data->pinctrl)) {
			if (PTR_ERR(data->pinctrl) != -EPROBE_DEFER)
				dev_err(dev, "pinctrl get failed, err=%ld\n",
					PTR_ERR(data->pinctrl));
			return PTR_ERR(data->pinctrl);
@@ -361,13 +364,13 @@ static int ci_hdrc_imx_probe(struct platform_device *pdev)

		data->hsic_pad_regulator =
				devm_regulator_get_optional(dev, "hsic");
		if (PTR_ERR(data->hsic_pad_regulator) == -EPROBE_DEFER) {
			return -EPROBE_DEFER;
		} else if (PTR_ERR(data->hsic_pad_regulator) == -ENODEV) {
		if (PTR_ERR(data->hsic_pad_regulator) == -ENODEV) {
			/* no pad regualator is needed */
			data->hsic_pad_regulator = NULL;
		} else if (IS_ERR(data->hsic_pad_regulator)) {
			dev_err(dev, "Get HSIC pad regulator error: %ld\n",
			if (PTR_ERR(data->hsic_pad_regulator) != -EPROBE_DEFER)
				dev_err(dev,
					"Get HSIC pad regulator error: %ld\n",
					PTR_ERR(data->hsic_pad_regulator));
			return PTR_ERR(data->hsic_pad_regulator);
		}