[media] omap3isp: ccp2: Don't ignore the regulator_enable() return value

Check the return value and catch errors correctly.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
Laurent Pinchart 2013-05-29 00:47:41 -03:00 committed by Mauro Carvalho Chehab
parent 7c0f812a5d
commit fe905b8cc9
1 changed files with 15 additions and 4 deletions

View File

@ -158,13 +158,17 @@ static void ccp2_pwr_cfg(struct isp_ccp2_device *ccp2)
* @ccp2: pointer to ISP CCP2 device
* @enable: enable/disable flag
*/
static void ccp2_if_enable(struct isp_ccp2_device *ccp2, u8 enable)
static int ccp2_if_enable(struct isp_ccp2_device *ccp2, u8 enable)
{
struct isp_device *isp = to_isp_device(ccp2);
int ret;
int i;
if (enable && ccp2->vdds_csib)
regulator_enable(ccp2->vdds_csib);
if (enable && ccp2->vdds_csib) {
ret = regulator_enable(ccp2->vdds_csib);
if (ret < 0)
return ret;
}
/* Enable/Disable all the LCx channels */
for (i = 0; i < CCP2_LCx_CHANS_NUM; i++)
@ -179,6 +183,8 @@ static void ccp2_if_enable(struct isp_ccp2_device *ccp2, u8 enable)
if (!enable && ccp2->vdds_csib)
regulator_disable(ccp2->vdds_csib);
return 0;
}
/*
@ -851,7 +857,12 @@ static int ccp2_s_stream(struct v4l2_subdev *sd, int enable)
ccp2_print_status(ccp2);
/* Enable CSI1/CCP2 interface */
ccp2_if_enable(ccp2, 1);
ret = ccp2_if_enable(ccp2, 1);
if (ret < 0) {
if (ccp2->phy)
omap3isp_csiphy_release(ccp2->phy);
return ret;
}
break;
case ISP_PIPELINE_STREAM_SINGLESHOT: