int32_t ov5693_power_down(struct msm_sensor_ctrl_t *s_ctrl) { int rc = 0; struct msm_camera_sensor_info *sdata = NULL; pr_info(" %s\n", __func__); if (s_ctrl && s_ctrl->sensordata) sdata = s_ctrl->sensordata; else { pr_err(" %s: s_ctrl sensordata NULL\n", __func__); return (-1); } if (sdata->camera_power_off == NULL) { pr_err(" %s: sensor platform_data didn't register\n", __func__); return -EIO; } rc = sdata->camera_power_off(); if (rc < 0) { pr_err(" %s failed to disable power\n", __func__); } rc = msm_sensor_set_power_down(s_ctrl); if (rc < 0) pr_err("%s msm_sensor_power_down failed\n", __func__); if (!sdata->use_rawchip) { msm_camio_clk_disable(sdata,CAMIO_CAM_MCLK_CLK); if (rc < 0) pr_err(" %s: msm_camio_clk_disable failed:%d\n", __func__, rc); } return rc; }
int32_t s5k6a2ya_power_down(struct msm_sensor_ctrl_t *s_ctrl)//(const struct msm_camera_sensor_info *sdata) { int rc; struct msm_camera_sensor_info *sdata = NULL; pr_info("%s\n", __func__); if (s_ctrl && s_ctrl->sensordata) sdata = s_ctrl->sensordata; else { pr_err("%s: s_ctrl sensordata NULL\n", __func__); return (-1); } if (sdata->camera_power_off == NULL) { pr_err(" sensor platform_data didn't register\n"); return -EIO; } #ifndef CONFIG_DISABLE_MCLK_RAWCHIP_TO_MAINCAM if (!sdata->use_rawchip && (sdata->htc_image != HTC_CAMERA_IMAGE_YUSHANII_BOARD)) { rc = msm_camio_clk_disable(sdata,CAMIO_CAM_MCLK_CLK); if (rc < 0) pr_err("%s: msm_camio_clk_disable failed:%d\n", __func__, rc); } #else rc = msm_camio_clk_disable(sdata,CAMIO_CAM_MCLK_CLK); if (rc < 0) pr_err("%s: msm_camio_clk_disable failed:%d\n", __func__, rc); #endif #ifndef CONFIG_DISABLE_MCLK_RAWCHIP_TO_MAINCAM rc = msm_sensor_set_power_down(s_ctrl);//(sdata); if (rc < 0) pr_err("%s msm_sensor_power_down failed\n", __func__); #endif rc = sdata->camera_power_off(); if (rc < 0) { pr_err(" %s failed to disable power\n", __func__); } return rc; /*msm_sensor_power_down(sdata);*/ }