Lines Matching refs:client
169 static int ov9640_reg_read(struct i2c_client *client, u8 reg, u8 *val) in ov9640_reg_read() argument
174 .addr = client->addr, in ov9640_reg_read()
180 ret = i2c_transfer(client->adapter, &msg, 1); in ov9640_reg_read()
185 ret = i2c_transfer(client->adapter, &msg, 1); in ov9640_reg_read()
193 dev_err(&client->dev, "Failed reading register 0x%02x!\n", reg); in ov9640_reg_read()
198 static int ov9640_reg_write(struct i2c_client *client, u8 reg, u8 val) in ov9640_reg_write() argument
204 .addr = client->addr, in ov9640_reg_write()
210 ret = i2c_transfer(client->adapter, &msg, 1); in ov9640_reg_write()
212 dev_err(&client->dev, "Failed writing register 0x%02x!\n", reg); in ov9640_reg_write()
217 ret = ov9640_reg_read(client, reg, &_val); in ov9640_reg_write()
219 dev_err(&client->dev, in ov9640_reg_write()
227 static int ov9640_reg_rmw(struct i2c_client *client, u8 reg, u8 set, u8 unset) in ov9640_reg_rmw() argument
232 ret = ov9640_reg_read(client, reg, &val); in ov9640_reg_rmw()
234 dev_err(&client->dev, in ov9640_reg_rmw()
242 ret = ov9640_reg_write(client, reg, val); in ov9640_reg_rmw()
244 dev_err(&client->dev, in ov9640_reg_rmw()
251 static int ov9640_reset(struct i2c_client *client) in ov9640_reset() argument
255 ret = ov9640_reg_write(client, OV9640_COM7, OV9640_COM7_SCCB_RESET); in ov9640_reset()
257 dev_err(&client->dev, in ov9640_reset()
273 struct i2c_client *client = v4l2_get_subdevdata(&priv->subdev); in ov9640_s_ctrl() local
278 return ov9640_reg_rmw(client, OV9640_MVFP, in ov9640_s_ctrl()
280 return ov9640_reg_rmw(client, OV9640_MVFP, 0, OV9640_MVFP_V); in ov9640_s_ctrl()
283 return ov9640_reg_rmw(client, OV9640_MVFP, in ov9640_s_ctrl()
285 return ov9640_reg_rmw(client, OV9640_MVFP, 0, OV9640_MVFP_H); in ov9640_s_ctrl()
294 struct i2c_client *client = v4l2_get_subdevdata(sd); in ov9640_get_register() local
303 ret = ov9640_reg_read(client, reg->reg, &val); in ov9640_get_register()
315 struct i2c_client *client = v4l2_get_subdevdata(sd); in ov9640_set_register() local
320 return ov9640_reg_write(client, reg->reg, reg->val); in ov9640_set_register()
326 struct i2c_client *client = v4l2_get_subdevdata(sd); in ov9640_s_power() local
327 struct soc_camera_subdev_desc *ssdd = soc_camera_i2c_to_desc(client); in ov9640_s_power()
330 return soc_camera_set_power(&client->dev, ssdd, priv->clk, on); in ov9640_s_power()
378 static int ov9640_write_regs(struct i2c_client *client, u32 width, in ov9640_write_regs() argument
417 dev_err(&client->dev, "Failed to select resolution!\n"); in ov9640_write_regs()
449 ret = ov9640_reg_write(client, ov9640_regs[i].reg, val); in ov9640_write_regs()
456 ret = ov9640_reg_write(client, matrix_regs[i].reg, in ov9640_write_regs()
466 static int ov9640_prog_dflt(struct i2c_client *client) in ov9640_prog_dflt() argument
471 ret = ov9640_reg_write(client, ov9640_regs_dflt[i].reg, in ov9640_prog_dflt()
487 struct i2c_client *client = v4l2_get_subdevdata(sd); in ov9640_s_fmt() local
496 ov9640_reset(client); in ov9640_s_fmt()
498 ret = ov9640_prog_dflt(client); in ov9640_s_fmt()
513 ret = ov9640_write_regs(client, mf->width, code, &alts); in ov9640_s_fmt()
589 static int ov9640_video_probe(struct i2c_client *client) in ov9640_video_probe() argument
591 struct v4l2_subdev *sd = i2c_get_clientdata(client); in ov9640_video_probe()
605 ret = ov9640_reg_read(client, OV9640_PID, &pid); in ov9640_video_probe()
607 ret = ov9640_reg_read(client, OV9640_VER, &ver); in ov9640_video_probe()
609 ret = ov9640_reg_read(client, OV9640_MIDH, &midh); in ov9640_video_probe()
611 ret = ov9640_reg_read(client, OV9640_MIDL, &midl); in ov9640_video_probe()
625 dev_err(&client->dev, "Product ID error %x:%x\n", pid, ver); in ov9640_video_probe()
630 dev_info(&client->dev, "%s Product ID %0x:%0x Manufacturer ID %x:%x\n", in ov9640_video_probe()
656 struct i2c_client *client = v4l2_get_subdevdata(sd); in ov9640_g_mbus_config() local
657 struct soc_camera_subdev_desc *ssdd = soc_camera_i2c_to_desc(client); in ov9640_g_mbus_config()
689 static int ov9640_probe(struct i2c_client *client, in ov9640_probe() argument
693 struct soc_camera_subdev_desc *ssdd = soc_camera_i2c_to_desc(client); in ov9640_probe()
697 dev_err(&client->dev, "Missing platform_data for driver\n"); in ov9640_probe()
701 priv = devm_kzalloc(&client->dev, sizeof(struct ov9640_priv), GFP_KERNEL); in ov9640_probe()
703 dev_err(&client->dev, in ov9640_probe()
708 v4l2_i2c_subdev_init(&priv->subdev, client, &ov9640_subdev_ops); in ov9640_probe()
719 priv->clk = v4l2_clk_get(&client->dev, "mclk"); in ov9640_probe()
725 ret = ov9640_video_probe(client); in ov9640_probe()
735 static int ov9640_remove(struct i2c_client *client) in ov9640_remove() argument
737 struct v4l2_subdev *sd = i2c_get_clientdata(client); in ov9640_remove()