Lines Matching refs:sd
63 struct v4l2_subdev sd; member
71 static inline struct upd64031a_state *to_state(struct v4l2_subdev *sd) in to_state() argument
73 return container_of(sd, struct upd64031a_state, sd); in to_state()
85 static u8 upd64031a_read(struct v4l2_subdev *sd, u8 reg) in upd64031a_read() argument
87 struct i2c_client *client = v4l2_get_subdevdata(sd); in upd64031a_read()
98 static void upd64031a_write(struct v4l2_subdev *sd, u8 reg, u8 val) in upd64031a_write() argument
100 struct i2c_client *client = v4l2_get_subdevdata(sd); in upd64031a_write()
105 v4l2_dbg(1, debug, sd, "write reg: %02X val: %02X\n", reg, val); in upd64031a_write()
107 v4l2_err(sd, "I/O error write 0x%02x/0x%02x\n", reg, val); in upd64031a_write()
113 static int upd64031a_s_frequency(struct v4l2_subdev *sd, const struct v4l2_frequency *freq) in upd64031a_s_frequency() argument
115 struct upd64031a_state *state = to_state(sd); in upd64031a_s_frequency()
118 v4l2_dbg(1, debug, sd, "changed input or channel\n"); in upd64031a_s_frequency()
119 upd64031a_write(sd, R00, reg | 0x10); in upd64031a_s_frequency()
120 upd64031a_write(sd, R00, reg & ~0x10); in upd64031a_s_frequency()
126 static int upd64031a_s_routing(struct v4l2_subdev *sd, in upd64031a_s_routing() argument
129 struct upd64031a_state *state = to_state(sd); in upd64031a_s_routing()
143 upd64031a_write(sd, R00, r00); in upd64031a_s_routing()
144 upd64031a_write(sd, R05, r05); in upd64031a_s_routing()
145 upd64031a_write(sd, R08, r08); in upd64031a_s_routing()
146 return upd64031a_s_frequency(sd, NULL); in upd64031a_s_routing()
149 static int upd64031a_log_status(struct v4l2_subdev *sd) in upd64031a_log_status() argument
151 v4l2_info(sd, "Status: SA00=0x%02x SA01=0x%02x\n", in upd64031a_log_status()
152 upd64031a_read(sd, 0), upd64031a_read(sd, 1)); in upd64031a_log_status()
157 static int upd64031a_g_register(struct v4l2_subdev *sd, struct v4l2_dbg_register *reg) in upd64031a_g_register() argument
159 reg->val = upd64031a_read(sd, reg->reg & 0xff); in upd64031a_g_register()
164 static int upd64031a_s_register(struct v4l2_subdev *sd, const struct v4l2_dbg_register *reg) in upd64031a_s_register() argument
166 upd64031a_write(sd, reg->reg & 0xff, reg->val & 0xff); in upd64031a_s_register()
203 struct v4l2_subdev *sd; in upd64031a_probe() local
215 sd = &state->sd; in upd64031a_probe()
216 v4l2_i2c_subdev_init(sd, client, &upd64031a_ops); in upd64031a_probe()
222 upd64031a_write(sd, i, state->regs[i]); in upd64031a_probe()
228 struct v4l2_subdev *sd = i2c_get_clientdata(client); in upd64031a_remove() local
230 v4l2_device_unregister_subdev(sd); in upd64031a_remove()