Lines Matching refs:client
624 static struct ov5642 *to_ov5642(const struct i2c_client *client) in to_ov5642() argument
626 return container_of(i2c_get_clientdata(client), struct ov5642, subdev); in to_ov5642()
642 static int reg_read(struct i2c_client *client, u16 reg, u8 *val) in reg_read() argument
648 ret = i2c_master_send(client, data, 2); in reg_read()
650 dev_err(&client->dev, "%s: i2c read error, reg: %x\n", in reg_read()
655 ret = i2c_master_recv(client, val, 1); in reg_read()
657 dev_err(&client->dev, "%s: i2c read error, reg: %x\n", in reg_read()
664 static int reg_write(struct i2c_client *client, u16 reg, u8 val) in reg_write() argument
669 ret = i2c_master_send(client, data, 3); in reg_write()
671 dev_err(&client->dev, "%s: i2c write error, reg: %x\n", in reg_write()
683 static int reg_write16(struct i2c_client *client, u16 reg, u16 val16) in reg_write16() argument
687 ret = reg_write(client, reg, val16 >> 8); in reg_write16()
690 return reg_write(client, reg + 1, val16 & 0x00ff); in reg_write16()
696 struct i2c_client *client = v4l2_get_subdevdata(sd); in ov5642_get_register() local
705 ret = reg_read(client, reg->reg, &val); in ov5642_get_register()
714 struct i2c_client *client = v4l2_get_subdevdata(sd); in ov5642_set_register() local
719 return reg_write(client, reg->reg, reg->val); in ov5642_set_register()
723 static int ov5642_write_array(struct i2c_client *client, in ov5642_write_array() argument
727 int ret = reg_write(client, vals->reg_num, vals->value); in ov5642_write_array()
732 dev_dbg(&client->dev, "Register list loaded\n"); in ov5642_write_array()
738 struct i2c_client *client = v4l2_get_subdevdata(sd); in ov5642_set_resolution() local
739 struct ov5642 *priv = to_ov5642(client); in ov5642_set_resolution()
752 ret = reg_write16(client, REG_WINDOW_START_X_HIGH, start_x); in ov5642_set_resolution()
754 ret = reg_write16(client, REG_WINDOW_START_Y_HIGH, start_y); in ov5642_set_resolution()
761 ret = reg_write16(client, REG_WINDOW_WIDTH_HIGH, width); in ov5642_set_resolution()
763 ret = reg_write16(client, REG_WINDOW_HEIGHT_HIGH, height); in ov5642_set_resolution()
770 ret = reg_write16(client, REG_OUT_WIDTH_HIGH, width); in ov5642_set_resolution()
772 ret = reg_write16(client, REG_OUT_HEIGHT_HIGH, height); in ov5642_set_resolution()
776 ret = reg_write16(client, REG_OUT_TOTAL_WIDTH_HIGH, total_width); in ov5642_set_resolution()
778 ret = reg_write16(client, REG_OUT_TOTAL_HEIGHT_HIGH, total_height); in ov5642_set_resolution()
782 ret = reg_write16(client, REG_AVG_WINDOW_END_X_HIGH, width); in ov5642_set_resolution()
784 ret = reg_write16(client, REG_AVG_WINDOW_END_Y_HIGH, height); in ov5642_set_resolution()
792 struct i2c_client *client = v4l2_get_subdevdata(sd); in ov5642_try_fmt() local
793 struct ov5642 *priv = to_ov5642(client); in ov5642_try_fmt()
812 struct i2c_client *client = v4l2_get_subdevdata(sd); in ov5642_s_fmt() local
813 struct ov5642 *priv = to_ov5642(client); in ov5642_s_fmt()
828 struct i2c_client *client = v4l2_get_subdevdata(sd); in ov5642_g_fmt() local
829 struct ov5642 *priv = to_ov5642(client); in ov5642_g_fmt()
854 struct i2c_client *client = v4l2_get_subdevdata(sd); in ov5642_s_crop() local
855 struct ov5642 *priv = to_ov5642(client); in ov5642_s_crop()
871 ret = ov5642_write_array(client, ov5642_default_regs_init); in ov5642_s_crop()
875 ret = ov5642_write_array(client, ov5642_default_regs_finalise); in ov5642_s_crop()
882 struct i2c_client *client = v4l2_get_subdevdata(sd); in ov5642_g_crop() local
883 struct ov5642 *priv = to_ov5642(client); in ov5642_g_crop()
920 struct i2c_client *client = v4l2_get_subdevdata(sd); in ov5642_s_power() local
921 struct soc_camera_subdev_desc *ssdd = soc_camera_i2c_to_desc(client); in ov5642_s_power()
922 struct ov5642 *priv = to_ov5642(client); in ov5642_s_power()
926 return soc_camera_power_off(&client->dev, ssdd, priv->clk); in ov5642_s_power()
928 ret = soc_camera_power_on(&client->dev, ssdd, priv->clk); in ov5642_s_power()
932 ret = ov5642_write_array(client, ov5642_default_regs_init); in ov5642_s_power()
936 ret = ov5642_write_array(client, ov5642_default_regs_finalise); in ov5642_s_power()
965 static int ov5642_video_probe(struct i2c_client *client) in ov5642_video_probe() argument
967 struct v4l2_subdev *subdev = i2c_get_clientdata(client); in ov5642_video_probe()
977 ret = reg_read(client, REG_CHIP_ID_HIGH, &id_high); in ov5642_video_probe()
983 ret = reg_read(client, REG_CHIP_ID_LOW, &id_low); in ov5642_video_probe()
989 dev_info(&client->dev, "Chip ID 0x%04x detected\n", id); in ov5642_video_probe()
1003 static int ov5642_probe(struct i2c_client *client, in ov5642_probe() argument
1007 struct soc_camera_subdev_desc *ssdd = soc_camera_i2c_to_desc(client); in ov5642_probe()
1011 dev_err(&client->dev, "OV5642: missing platform data!\n"); in ov5642_probe()
1015 priv = devm_kzalloc(&client->dev, sizeof(struct ov5642), GFP_KERNEL); in ov5642_probe()
1019 v4l2_i2c_subdev_init(&priv->subdev, client, &ov5642_subdev_ops); in ov5642_probe()
1030 priv->clk = v4l2_clk_get(&client->dev, "mclk"); in ov5642_probe()
1034 ret = ov5642_video_probe(client); in ov5642_probe()
1041 static int ov5642_remove(struct i2c_client *client) in ov5642_remove() argument
1043 struct soc_camera_subdev_desc *ssdd = soc_camera_i2c_to_desc(client); in ov5642_remove()
1044 struct ov5642 *priv = to_ov5642(client); in ov5642_remove()