Hi Pavel,

Thank you for the patch.

On Thursday 02 Mar 2017 13:45:32 Pavel Machek wrote:
> 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 <pa...@ucw.cz>
> 
> diff --git a/drivers/media/platform/omap3isp/ispccp2.c
> b/drivers/media/platform/omap3isp/ispccp2.c index ca09523..b6e055e 100644
> --- a/drivers/media/platform/omap3isp/ispccp2.c
> +++ b/drivers/media/platform/omap3isp/ispccp2.c
> @@ -1137,10 +1159,12 @@ 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)
> +                             return -EPROBE_DEFER;

This looks good to me, but it will result in the caller printing a "CCP2 
initialization failed" error message, which I'm not sure is right. Maybe we 
should move that message to the omap3isp_ccp2_init() function ?

In any case, this change is fine, so

Reviewed-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com>

>                       dev_dbg(isp->dev,
>                               "Could not get regulator vdds_csib\n");
>                       ccp2->vdds_csib = NULL;
>               }
>       } else if (isp->revision == ISP_REVISION_15_0) {
>               ccp2->phy = &isp->isp_csiphy1;
>       }

-- 
Regards,

Laurent Pinchart

Reply via email to