Loading drivers/media/platform/msm/ais/sensor/msm_sensor_driver.c +55 −41 Original line number Diff line number Diff line Loading @@ -73,22 +73,19 @@ static int msm_sensor_suspend(struct device *dev) return -EFAULT; } if (s_ctrl->is_csid_tg_mode) return 0; if (s_ctrl->sensor_state == MSM_SENSOR_CCI_DOWN) { /* Turning on cci clock to retain previous state */ if (!msm_camera_cci_power_up(s_ctrl->sensor_device_type, s_ctrl->sensor_i2c_client)) { s_ctrl->sensor_state = MSM_SENSOR_CCI_UP; } if (s_ctrl->is_csid_tg_mode) return 0; kfree(s_ctrl->stop_setting.reg_setting); s_ctrl->stop_setting.reg_setting = NULL; if (s_ctrl->sensor_state == MSM_SENSOR_POWER_DOWN) { pr_debug("just returning success since sensor is already off %d\n", s_ctrl->sensor_state); return 0; } if (s_ctrl->func_tbl->sensor_power_down) { if (s_ctrl->sensordata->misc_regulator) msm_sensor_misc_regulator(s_ctrl, 0); Loading @@ -104,6 +101,15 @@ static int msm_sensor_suspend(struct device *dev) } else { rc = -EFAULT; } } else if (s_ctrl->sensor_state == MSM_SENSOR_POWER_DOWN) { pr_debug("just returning success since sensor is already off %d\n", s_ctrl->sensor_state); return 0; } else { pr_err("%s:%d invalid state\n", __func__, __LINE__); rc = -EFAULT; } return rc; } Loading @@ -123,11 +129,8 @@ static int msm_sensor_resume(struct device *dev) if (s_ctrl->is_csid_tg_mode) return 0; if (s_ctrl->sensor_state == MSM_SENSOR_POWER_UP) { pr_debug("just returning success since sensor is alreay on %d\n", s_ctrl->sensor_state); return 0; } if (s_ctrl->sensor_state == MSM_SENSOR_POWER_DOWN) { if (s_ctrl->func_tbl->sensor_power_up) { if (s_ctrl->sensordata->misc_regulator) msm_sensor_misc_regulator(s_ctrl, 1); Loading @@ -137,6 +140,7 @@ static int msm_sensor_resume(struct device *dev) pr_err("%s:%d failed rc %d\n", __func__, __LINE__, rc); rc = -EFAULT; return rc; } s_ctrl->sensor_state = MSM_SENSOR_POWER_UP; CDBG("%s:%d sensor state %d\n", __func__, __LINE__, Loading @@ -150,6 +154,16 @@ static int msm_sensor_resume(struct device *dev) s_ctrl->sensor_i2c_client)) { s_ctrl->sensor_state = MSM_SENSOR_CCI_DOWN; } } else if (s_ctrl->sensor_state == MSM_SENSOR_CCI_DOWN) { pr_debug("just returning success since sensor is already on %d\n", s_ctrl->sensor_state); rc = 0; } else { pr_err("%s:%d invalid state\n", __func__, __LINE__); rc = -EFAULT; } return rc; } Loading Loading
drivers/media/platform/msm/ais/sensor/msm_sensor_driver.c +55 −41 Original line number Diff line number Diff line Loading @@ -73,22 +73,19 @@ static int msm_sensor_suspend(struct device *dev) return -EFAULT; } if (s_ctrl->is_csid_tg_mode) return 0; if (s_ctrl->sensor_state == MSM_SENSOR_CCI_DOWN) { /* Turning on cci clock to retain previous state */ if (!msm_camera_cci_power_up(s_ctrl->sensor_device_type, s_ctrl->sensor_i2c_client)) { s_ctrl->sensor_state = MSM_SENSOR_CCI_UP; } if (s_ctrl->is_csid_tg_mode) return 0; kfree(s_ctrl->stop_setting.reg_setting); s_ctrl->stop_setting.reg_setting = NULL; if (s_ctrl->sensor_state == MSM_SENSOR_POWER_DOWN) { pr_debug("just returning success since sensor is already off %d\n", s_ctrl->sensor_state); return 0; } if (s_ctrl->func_tbl->sensor_power_down) { if (s_ctrl->sensordata->misc_regulator) msm_sensor_misc_regulator(s_ctrl, 0); Loading @@ -104,6 +101,15 @@ static int msm_sensor_suspend(struct device *dev) } else { rc = -EFAULT; } } else if (s_ctrl->sensor_state == MSM_SENSOR_POWER_DOWN) { pr_debug("just returning success since sensor is already off %d\n", s_ctrl->sensor_state); return 0; } else { pr_err("%s:%d invalid state\n", __func__, __LINE__); rc = -EFAULT; } return rc; } Loading @@ -123,11 +129,8 @@ static int msm_sensor_resume(struct device *dev) if (s_ctrl->is_csid_tg_mode) return 0; if (s_ctrl->sensor_state == MSM_SENSOR_POWER_UP) { pr_debug("just returning success since sensor is alreay on %d\n", s_ctrl->sensor_state); return 0; } if (s_ctrl->sensor_state == MSM_SENSOR_POWER_DOWN) { if (s_ctrl->func_tbl->sensor_power_up) { if (s_ctrl->sensordata->misc_regulator) msm_sensor_misc_regulator(s_ctrl, 1); Loading @@ -137,6 +140,7 @@ static int msm_sensor_resume(struct device *dev) pr_err("%s:%d failed rc %d\n", __func__, __LINE__, rc); rc = -EFAULT; return rc; } s_ctrl->sensor_state = MSM_SENSOR_POWER_UP; CDBG("%s:%d sensor state %d\n", __func__, __LINE__, Loading @@ -150,6 +154,16 @@ static int msm_sensor_resume(struct device *dev) s_ctrl->sensor_i2c_client)) { s_ctrl->sensor_state = MSM_SENSOR_CCI_DOWN; } } else if (s_ctrl->sensor_state == MSM_SENSOR_CCI_DOWN) { pr_debug("just returning success since sensor is already on %d\n", s_ctrl->sensor_state); rc = 0; } else { pr_err("%s:%d invalid state\n", __func__, __LINE__); rc = -EFAULT; } return rc; } Loading