void msm_sensor_start_stream(struct msm_sensor_ctrl_t *s_ctrl) { pr_err("%s: E\n", __func__); /* */ msm_camera_i2c_write_tbl( s_ctrl->sensor_i2c_client, s_ctrl->msm_sensor_reg->start_stream_conf, s_ctrl->msm_sensor_reg->start_stream_conf_size, s_ctrl->msm_sensor_reg->default_data_type); /* */ #ifdef LGIT_IEF_SWITCH_L1V if(system_state != SYSTEM_BOOTING){ printk("[IEF_OFF] Camera \n"); mipi_lgd_lcd_ief_off(); } #endif /* */ /* */ #ifdef LGIT_IEF_SWITCH_VU2 if(system_state != SYSTEM_BOOTING && sub_cam_id_for_keep_screen_on != -2733) { printk("[IEF_OFF] Camera \n"); mipi_lgit_lcd_ief_off(); } #endif /* */ }
void msm_sensor_start_stream(struct msm_sensor_ctrl_t *s_ctrl) { pr_err("%s: E\n", __func__); /* LGE_CHANGE, For debugging, 2012-07-03, [email protected] */ msm_camera_i2c_write_tbl( s_ctrl->sensor_i2c_client, s_ctrl->msm_sensor_reg->start_stream_conf, s_ctrl->msm_sensor_reg->start_stream_conf_size, s_ctrl->msm_sensor_reg->default_data_type); /* LGE_CHANGE_S, Turn IEF off in camera mode, 2012-10-23 */ #ifdef LGIT_IEF_SWITCH_L1V if(system_state != SYSTEM_BOOTING){ printk("[IEF_OFF] Camera \n"); mipi_lgd_lcd_ief_off(); } #endif /* LGE_CHANGE_E, Turn IEF off in camera mode, 2012-10-23 */ /* LGE_CHANGE_S, Turn IEF off in camera mode except KeepScreenOn, 2012-09-13, [email protected] */ #ifdef LGIT_IEF_SWITCH_VU2 if(system_state != SYSTEM_BOOTING && sub_cam_id_for_keep_screen_on != -2733) { printk("[IEF_OFF] Camera \n"); mipi_lgit_lcd_ief_off(); } #endif /* LGE_CHANGE_E, Turn IEF off in camera mode except KeepScreenOn, 2012-09-13, [email protected] */ }
static int32_t s5k4e1_sensor_power_up(struct msm_sensor_ctrl_t *s_ctrl) { int32_t rc = 0; struct msm_camera_sensor_info *data = s_ctrl->sensordata; printk("%s: E, %d\n", __func__, __LINE__); /* */ s_ctrl->reg_ptr = kzalloc(sizeof(struct regulator *) * data->sensor_platform_info->num_vreg, GFP_KERNEL); if (!s_ctrl->reg_ptr) { pr_err("%s: could not allocate mem for regulators\n", __func__); return -ENOMEM; } rc = msm_camera_request_gpio_table(data, 1); if (rc < 0) { pr_err("%s: request gpio failed\n", __func__); goto request_gpio_failed; } rc = msm_camera_config_vreg(&s_ctrl->sensor_i2c_client->client->dev, s_ctrl->sensordata->sensor_platform_info->cam_vreg, s_ctrl->sensordata->sensor_platform_info->num_vreg, s_ctrl->reg_ptr, 1); if (rc < 0) { pr_err("%s: regulator on failed\n", __func__); goto config_vreg_failed; } rc = msm_camera_enable_vreg(&s_ctrl->sensor_i2c_client->client->dev, s_ctrl->sensordata->sensor_platform_info->cam_vreg, s_ctrl->sensordata->sensor_platform_info->num_vreg, s_ctrl->reg_ptr, 1); if (rc < 0) { pr_err("%s: enable regulator failed\n", __func__); goto enable_vreg_failed; } printk("%s: msm_camera_enable_vreg, %d\n", __func__, __LINE__); rc = msm_camera_config_gpio_table(data, 1); if (rc < 0) { pr_err("%s: config gpio failed\n", __func__); goto config_gpio_failed; } if (s_ctrl->clk_rate != 0) cam_clk_info->clk_rate = s_ctrl->clk_rate; rc = msm_cam_clk_enable(&s_ctrl->sensor_i2c_client->client->dev, cam_clk_info, &s_ctrl->cam_clk, ARRAY_SIZE(cam_clk_info), 1); if (rc < 0) { pr_err("%s: clk enable failed\n", __func__); goto enable_clk_failed; } /* minimum sleep 20ms for EEPROM read */ msleep(20); if (data->sensor_platform_info->ext_power_ctrl != NULL) data->sensor_platform_info->ext_power_ctrl(1); /* */ #ifdef LGIT_IEF_SWITCH if(system_state != SYSTEM_BOOTING){ printk("[IEF_OFF] Camera \n"); mipi_lgd_lcd_ief_off(); } #endif /* */ printk("%s: X, %d\n", __func__, __LINE__); /* */ return rc; enable_clk_failed: msm_camera_config_gpio_table(data, 0); config_gpio_failed: msm_camera_enable_vreg(&s_ctrl->sensor_i2c_client->client->dev, s_ctrl->sensordata->sensor_platform_info->cam_vreg, s_ctrl->sensordata->sensor_platform_info->num_vreg, s_ctrl->reg_ptr, 0); enable_vreg_failed: msm_camera_config_vreg(&s_ctrl->sensor_i2c_client->client->dev, s_ctrl->sensordata->sensor_platform_info->cam_vreg, s_ctrl->sensordata->sensor_platform_info->num_vreg, s_ctrl->reg_ptr, 0); config_vreg_failed: msm_camera_request_gpio_table(data, 0); request_gpio_failed: kfree(s_ctrl->reg_ptr); return rc; }