int sensor_write_reg0val0(struct i2c_client *client, u8 reg,u16 val) { struct generic_sensor *sensor = to_generic_sensor(client); SENSOR_TR("SENSOR_REGISTER_LEN and SENSOR_VALUE_LEN is 0, please use generic_sensor_write directly!"); return -1; }
/* * the function is v4l2 control V4L2_CID_VFLIP callback */ static int sensor_v4l2ctrl_flip_cb(struct soc_camera_device *icd, struct sensor_v4l2ctrl_info_s *ctrl_info, struct v4l2_ext_control *ext_ctrl) { struct i2c_client *client = to_i2c_client(to_soc_camera_control(icd)); if (sensor_flip_cb(client,ext_ctrl->value) != 0) SENSOR_TR("sensor_flip failed, value:0x%x",ext_ctrl->value); SENSOR_DG("sensor_flip success, value:0x%x",ext_ctrl->value); return 0; }
static int sensor_suspend(struct soc_camera_device *icd, pm_message_t pm_msg) { //struct i2c_client *client = to_i2c_client(to_soc_camera_control(icd)); if (pm_msg.event == PM_EVENT_SUSPEND) { SENSOR_DG("Suspend"); } else { SENSOR_TR("pm_msg.event(0x%x) != PM_EVENT_SUSPEND\n",pm_msg.event); return -EINVAL; } return 0; }