summaryrefslogtreecommitdiffstats
path: root/drivers/media/platform/omap3isp/ispccp2.c
diff options
context:
space:
mode:
authorPavel Machek <pavel@ucw.cz>2017-03-02 07:45:32 -0500
committerMauro Carvalho Chehab <mchehab@s-opensource.com>2017-07-19 15:49:45 -0400
commita4573084cb7596b13e0853fa97b069c8fb30b6e7 (patch)
tree309fe4e46263d57df835e27037791b56e3eb601c /drivers/media/platform/omap3isp/ispccp2.c
parenta6b687df8a8742511ae46f4363ac6a0cba0d31b1 (diff)
downloadlinux-a4573084cb7596b13e0853fa97b069c8fb30b6e7.tar.bz2
media: omap3isp: Return -EPROBE_DEFER if the required regulators can't be obtained
If regulator returns -EPROBE_DEFER, we need to return it too, so that omap3isp will be re-probed when regulator is ready. Signed-off-by: Pavel Machek <pavel@ucw.cz> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Diffstat (limited to 'drivers/media/platform/omap3isp/ispccp2.c')
-rw-r--r--drivers/media/platform/omap3isp/ispccp2.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/media/platform/omap3isp/ispccp2.c b/drivers/media/platform/omap3isp/ispccp2.c
index 588f67a89f79..8b6f7d2e79a0 100644
--- a/drivers/media/platform/omap3isp/ispccp2.c
+++ b/drivers/media/platform/omap3isp/ispccp2.c
@@ -1137,6 +1137,11 @@ int omap3isp_ccp2_init(struct isp_device *isp)
if (isp->revision == ISP_REVISION_2_0) {
ccp2->vdds_csib = devm_regulator_get(isp->dev, "vdds_csib");
if (IS_ERR(ccp2->vdds_csib)) {
+ if (PTR_ERR(ccp2->vdds_csib) == -EPROBE_DEFER) {
+ dev_dbg(isp->dev,
+ "Can't get regulator vdds_csib, deferring probing\n");
+ return -EPROBE_DEFER;
+ }
dev_dbg(isp->dev,
"Could not get regulator vdds_csib\n");
ccp2->vdds_csib = NULL;