Lines Matching refs:client

171 static int ov9640_reg_read(struct i2c_client *client, u8 reg, u8 *val)  in ov9640_reg_read()  argument
176 .addr = client->addr, in ov9640_reg_read()
182 ret = i2c_transfer(client->adapter, &msg, 1); in ov9640_reg_read()
187 ret = i2c_transfer(client->adapter, &msg, 1); in ov9640_reg_read()
195 dev_err(&client->dev, "Failed reading register 0x%02x!\n", reg); in ov9640_reg_read()
200 static int ov9640_reg_write(struct i2c_client *client, u8 reg, u8 val) in ov9640_reg_write() argument
206 .addr = client->addr, in ov9640_reg_write()
212 ret = i2c_transfer(client->adapter, &msg, 1); in ov9640_reg_write()
214 dev_err(&client->dev, "Failed writing register 0x%02x!\n", reg); in ov9640_reg_write()
219 ret = ov9640_reg_read(client, reg, &_val); in ov9640_reg_write()
221 dev_err(&client->dev, in ov9640_reg_write()
229 static int ov9640_reg_rmw(struct i2c_client *client, u8 reg, u8 set, u8 unset) in ov9640_reg_rmw() argument
234 ret = ov9640_reg_read(client, reg, &val); in ov9640_reg_rmw()
236 dev_err(&client->dev, in ov9640_reg_rmw()
244 ret = ov9640_reg_write(client, reg, val); in ov9640_reg_rmw()
246 dev_err(&client->dev, in ov9640_reg_rmw()
253 static int ov9640_reset(struct i2c_client *client) in ov9640_reset() argument
257 ret = ov9640_reg_write(client, OV9640_COM7, OV9640_COM7_SCCB_RESET); in ov9640_reset()
259 dev_err(&client->dev, in ov9640_reset()
276 struct i2c_client *client = v4l2_get_subdevdata(&priv->subdev); in ov9640_s_ctrl() local
281 return ov9640_reg_rmw(client, OV9640_MVFP, in ov9640_s_ctrl()
283 return ov9640_reg_rmw(client, OV9640_MVFP, 0, OV9640_MVFP_V); in ov9640_s_ctrl()
286 return ov9640_reg_rmw(client, OV9640_MVFP, in ov9640_s_ctrl()
288 return ov9640_reg_rmw(client, OV9640_MVFP, 0, OV9640_MVFP_H); in ov9640_s_ctrl()
298 struct i2c_client *client = v4l2_get_subdevdata(sd); in ov9640_get_register() local
307 ret = ov9640_reg_read(client, reg->reg, &val); in ov9640_get_register()
319 struct i2c_client *client = v4l2_get_subdevdata(sd); in ov9640_set_register() local
324 return ov9640_reg_write(client, reg->reg, reg->val); in ov9640_set_register()
395 static int ov9640_write_regs(struct i2c_client *client, u32 width, in ov9640_write_regs() argument
435 dev_err(&client->dev, "Failed to select resolution!\n"); in ov9640_write_regs()
467 ret = ov9640_reg_write(client, ov9640_regs[i].reg, val); in ov9640_write_regs()
474 ret = ov9640_reg_write(client, matrix_regs[i].reg, in ov9640_write_regs()
484 static int ov9640_prog_dflt(struct i2c_client *client) in ov9640_prog_dflt() argument
490 ret = ov9640_reg_write(client, ov9640_regs_dflt[i].reg, in ov9640_prog_dflt()
506 struct i2c_client *client = v4l2_get_subdevdata(sd); in ov9640_s_fmt() local
512 ov9640_reset(client); in ov9640_s_fmt()
514 ret = ov9640_prog_dflt(client); in ov9640_s_fmt()
518 return ov9640_write_regs(client, mf->width, mf->code, &alts); in ov9640_s_fmt()
587 static int ov9640_video_probe(struct i2c_client *client) in ov9640_video_probe() argument
589 struct v4l2_subdev *sd = i2c_get_clientdata(client); in ov9640_video_probe()
603 ret = ov9640_reg_read(client, OV9640_PID, &pid); in ov9640_video_probe()
605 ret = ov9640_reg_read(client, OV9640_VER, &ver); in ov9640_video_probe()
607 ret = ov9640_reg_read(client, OV9640_MIDH, &midh); in ov9640_video_probe()
609 ret = ov9640_reg_read(client, OV9640_MIDL, &midl); in ov9640_video_probe()
623 dev_err(&client->dev, "Product ID error %x:%x\n", pid, ver); in ov9640_video_probe()
628 dev_info(&client->dev, "%s Product ID %0x:%0x Manufacturer ID %x:%x\n", in ov9640_video_probe()
685 static int ov9640_probe(struct i2c_client *client) in ov9640_probe() argument
690 priv = devm_kzalloc(&client->dev, sizeof(*priv), GFP_KERNEL); in ov9640_probe()
694 priv->gpio_power = devm_gpiod_get(&client->dev, "Camera power", in ov9640_probe()
701 priv->gpio_reset = devm_gpiod_get(&client->dev, "Camera reset", in ov9640_probe()
708 v4l2_i2c_subdev_init(&priv->subdev, client, &ov9640_subdev_ops); in ov9640_probe()
723 priv->clk = devm_clk_get(&client->dev, "mclk"); in ov9640_probe()
729 ret = ov9640_video_probe(client); in ov9640_probe()
733 priv->subdev.dev = &client->dev; in ov9640_probe()
746 static void ov9640_remove(struct i2c_client *client) in ov9640_remove() argument
748 struct v4l2_subdev *sd = i2c_get_clientdata(client); in ov9640_remove()