media: imx-media-csi: Do not propagate the error when pinctrl is not found
authorFabio Estevam <fabio.estevam@nxp.com>
Sat, 3 Mar 2018 12:56:30 +0000 (07:56 -0500)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Wed, 4 Apr 2018 10:12:53 +0000 (06:12 -0400)
Since commit 52e17089d185 ("media: imx: Don't initialize vars that
won't be used") imx_csi_probe() fails to probe after propagating the
devm_pinctrl_get_select_default() error.

devm_pinctrl_get_select_default() may return -ENODEV when the CSI pinctrl
entry is not found, so better not to propagate the error in the -ENODEV
case to avoid a regression.

Suggested-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Reviewed-by: Steve Longerbeam <steve_longerbeam@mentor.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/staging/media/imx/imx-media-csi.c

index 00c9d62..16cab40 100644 (file)
@@ -1800,7 +1800,10 @@ static int imx_csi_probe(struct platform_device *pdev)
        pinctrl = devm_pinctrl_get_select_default(priv->dev);
        if (IS_ERR(pinctrl)) {
                ret = PTR_ERR(priv->vdev);
-               goto free;
+               dev_dbg(priv->dev,
+                       "devm_pinctrl_get_select_default() failed: %d\n", ret);
+               if (ret != -ENODEV)
+                       goto free;
        }
 
        ret = v4l2_async_register_subdev(&priv->sd);