Lines Matching refs:sd

145 	struct v4l2_subdev sd;  member
284 static inline struct sr030pc30_info *to_sr030pc30(struct v4l2_subdev *sd) in to_sr030pc30() argument
286 return container_of(sd, struct sr030pc30_info, sd); in to_sr030pc30()
303 static int cam_i2c_read(struct v4l2_subdev *sd, u32 reg_addr) in cam_i2c_read() argument
305 struct i2c_client *client = v4l2_get_subdevdata(sd); in cam_i2c_read()
306 struct sr030pc30_info *info = to_sr030pc30(sd); in cam_i2c_read()
314 static int cam_i2c_write(struct v4l2_subdev *sd, u32 reg_addr, u32 val) in cam_i2c_write() argument
316 struct i2c_client *client = v4l2_get_subdevdata(sd); in cam_i2c_write()
317 struct sr030pc30_info *info = to_sr030pc30(sd); in cam_i2c_write()
326 static inline int sr030pc30_bulk_write_reg(struct v4l2_subdev *sd, in sr030pc30_bulk_write_reg() argument
330 int ret = cam_i2c_write(sd, msg->addr, msg->val); in sr030pc30_bulk_write_reg()
339 static int sr030pc30_pwr_ctrl(struct v4l2_subdev *sd, in sr030pc30_pwr_ctrl() argument
342 struct sr030pc30_info *info = to_sr030pc30(sd); in sr030pc30_pwr_ctrl()
347 ret = cam_i2c_write(sd, POWER_CTRL_REG, reg | 0x02); in sr030pc30_pwr_ctrl()
349 ret = cam_i2c_write(sd, POWER_CTRL_REG, reg); in sr030pc30_pwr_ctrl()
359 static int sr030pc30_set_flip(struct v4l2_subdev *sd) in sr030pc30_set_flip() argument
361 struct sr030pc30_info *info = to_sr030pc30(sd); in sr030pc30_set_flip()
363 s32 reg = cam_i2c_read(sd, VDO_CTL2_REG); in sr030pc30_set_flip()
372 return cam_i2c_write(sd, VDO_CTL2_REG, reg | 0x80); in sr030pc30_set_flip()
376 static int sr030pc30_set_params(struct v4l2_subdev *sd) in sr030pc30_set_params() argument
378 struct sr030pc30_info *info = to_sr030pc30(sd); in sr030pc30_set_params()
385 ret = cam_i2c_write(sd, VDO_CTL1_REG, in sr030pc30_set_params()
389 ret = cam_i2c_write(sd, ISP_CTL_REG(0), in sr030pc30_set_params()
392 ret = sr030pc30_set_flip(sd); in sr030pc30_set_params()
425 struct v4l2_subdev *sd = &info->sd; in sr030pc30_s_ctrl() local
428 v4l2_dbg(1, debug, sd, "%s: ctrl_id: %d, value: %d\n", in sr030pc30_s_ctrl()
434 ret = cam_i2c_write(sd, AWB_CTL2_REG, in sr030pc30_s_ctrl()
437 ret = cam_i2c_write(sd, AWB_CTL1_REG, in sr030pc30_s_ctrl()
441 ret = cam_i2c_write(sd, MWB_BGAIN_REG, info->blue->val); in sr030pc30_s_ctrl()
443 ret = cam_i2c_write(sd, MWB_RGAIN_REG, info->red->val); in sr030pc30_s_ctrl()
449 ret = cam_i2c_write(sd, AE_CTL1_REG, in sr030pc30_s_ctrl()
457 ret = cam_i2c_write(sd, EXP_TIMEH_REG, in sr030pc30_s_ctrl()
460 ret = cam_i2c_write(sd, EXP_TIMEM_REG, in sr030pc30_s_ctrl()
463 ret = cam_i2c_write(sd, EXP_TIMEL_REG, in sr030pc30_s_ctrl()
474 static int sr030pc30_enum_mbus_code(struct v4l2_subdev *sd, in sr030pc30_enum_mbus_code() argument
486 static int sr030pc30_get_fmt(struct v4l2_subdev *sd, in sr030pc30_get_fmt() argument
491 struct sr030pc30_info *info = to_sr030pc30(sd); in sr030pc30_get_fmt()
511 static const struct sr030pc30_format *try_fmt(struct v4l2_subdev *sd, in try_fmt() argument
528 static int sr030pc30_set_fmt(struct v4l2_subdev *sd, in sr030pc30_set_fmt() argument
532 struct sr030pc30_info *info = sd ? to_sr030pc30(sd) : NULL; in sr030pc30_set_fmt()
536 if (!sd || !format) in sr030pc30_set_fmt()
543 fmt = try_fmt(sd, mf); in sr030pc30_set_fmt()
551 return sr030pc30_set_params(sd); in sr030pc30_set_fmt()
554 static int sr030pc30_base_config(struct v4l2_subdev *sd) in sr030pc30_base_config() argument
556 struct sr030pc30_info *info = to_sr030pc30(sd); in sr030pc30_base_config()
560 ret = sr030pc30_bulk_write_reg(sd, sr030pc30_base_regs); in sr030pc30_base_config()
564 ret = sr030pc30_set_params(sd); in sr030pc30_base_config()
567 ret = sr030pc30_pwr_ctrl(sd, false, false); in sr030pc30_base_config()
575 v4l2_dbg(1, debug, sd, "%s: expmin= %lx, expmax= %lx", __func__, in sr030pc30_base_config()
579 ret = cam_i2c_write(sd, EXP_MMINH_REG, expmin >> 8 & 0xFF); in sr030pc30_base_config()
581 ret = cam_i2c_write(sd, EXP_MMINL_REG, expmin & 0xFF); in sr030pc30_base_config()
583 ret = cam_i2c_write(sd, EXP_MMAXH_REG, expmax >> 16 & 0xFF); in sr030pc30_base_config()
585 ret = cam_i2c_write(sd, EXP_MMAXM_REG, expmax >> 8 & 0xFF); in sr030pc30_base_config()
587 ret = cam_i2c_write(sd, EXP_MMAXL_REG, expmax & 0xFF); in sr030pc30_base_config()
592 static int sr030pc30_s_power(struct v4l2_subdev *sd, int on) in sr030pc30_s_power() argument
594 struct i2c_client *client = v4l2_get_subdevdata(sd); in sr030pc30_s_power()
595 struct sr030pc30_info *info = to_sr030pc30(sd); in sr030pc30_s_power()
609 sr030pc30_pwr_ctrl(sd, false, true); in sr030pc30_s_power()
619 ret = sr030pc30_base_config(sd); in sr030pc30_s_power()
683 struct v4l2_subdev *sd; in sr030pc30_probe() local
702 sd = &info->sd; in sr030pc30_probe()
703 strcpy(sd->name, MODULE_NAME); in sr030pc30_probe()
706 v4l2_i2c_subdev_init(sd, client, &sr030pc30_ops); in sr030pc30_probe()
720 sd->ctrl_handler = hdl; in sr030pc30_probe()
739 struct v4l2_subdev *sd = i2c_get_clientdata(client); in sr030pc30_remove() local
741 v4l2_device_unregister_subdev(sd); in sr030pc30_remove()
742 v4l2_ctrl_handler_free(sd->ctrl_handler); in sr030pc30_remove()