int32_t ov5693_power_up(struct msm_sensor_ctrl_t *s_ctrl) { int rc; struct msm_camera_sensor_info *sdata = NULL; pr_info("[CAM] %s\n", __func__); if (s_ctrl && s_ctrl->sensordata) sdata = s_ctrl->sensordata; else { pr_err("[CAM] %s: s_ctrl sensordata NULL\n", __func__); return -EINVAL; } if (sdata->camera_power_on == NULL) { pr_err("sensor platform_data didnt register\n"); return -EIO; } if (!sdata->use_rawchip) { rc = msm_camio_clk_enable(CAMIO_CAM_MCLK_CLK); if (rc < 0) { pr_err("[CAM] %s: msm_camio_sensor_clk_on failed:%d\n", __func__, rc); goto enable_mclk_failed; } } rc = sdata->camera_power_on(); if (rc < 0) { pr_err("[CAM] %s failed to enable power\n", __func__); goto enable_power_on_failed; } rc = msm_sensor_set_power_up(s_ctrl); if (rc < 0) { pr_err("[CAM] %s msm_sensor_power_up failed\n", __func__); goto enable_sensor_power_up_failed; } ov5693_sensor_open_init(sdata); pr_info("[CAM] %s end\n", __func__); return rc; enable_sensor_power_up_failed: if (sdata->camera_power_off == NULL) pr_err("sensor platform_data didnt register\n"); else sdata->camera_power_off(); enable_power_on_failed: if (!sdata->use_rawchip) msm_camio_clk_disable(CAMIO_CAM_MCLK_CLK); enable_mclk_failed: return rc; }
int32_t s5k6a2ya_power_up(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_on == NULL) { pr_err("sensor platform_data didnt register\n"); return -EIO; } rc = sdata->camera_power_on(); if (rc < 0) { pr_err("%s failed to enable power\n", __func__); goto enable_power_on_failed; } #ifndef CONFIG_DISABLE_MCLK_RAWCHIP_TO_MAINCAM if (!sdata->use_rawchip && (sdata->htc_image != HTC_CAMERA_IMAGE_YUSHANII_BOARD)) { rc = msm_camio_clk_enable(sdata,CAMIO_CAM_MCLK_CLK); if (rc < 0) { pr_err("%s: msm_camio_clk_enable failed:%d\n", __func__, rc); goto enable_mclk_failed; } } rc = msm_sensor_set_power_up(s_ctrl);//(sdata); if (rc < 0) { pr_err("%s msm_sensor_power_up failed\n", __func__); goto set_sensor_power_up_failed; } #else rc = msm_camio_clk_enable(sdata,CAMIO_CAM_MCLK_CLK); if (rc < 0) { pr_err("%s msm_camio_clk_enable failed\n", __func__); goto enable_mclk_failed; } #endif #ifdef CONFIG_RAWCHIPII Ilp0100_enableIlp0100SensorClock(SENSOR_1); mdelay(35); //temp timing setting #endif s5k6a2ya_sensor_open_init(sdata); pr_info("%s end\n", __func__); return rc; #ifndef CONFIG_DISABLE_MCLK_RAWCHIP_TO_MAINCAM set_sensor_power_up_failed: msm_camio_clk_disable(sdata,CAMIO_CAM_MCLK_CLK); #endif enable_mclk_failed: if (sdata->camera_power_off == NULL) pr_err("sensor platform_data didnt register\n"); else sdata->camera_power_off(); enable_power_on_failed: return rc; }