Lines Matching refs:sd
46 struct v4l2_subdev sd; member
59 static inline struct adv7343_state *to_state(struct v4l2_subdev *sd) in to_state() argument
61 return container_of(sd, struct adv7343_state, sd); in to_state()
66 return &container_of(ctrl->handler, struct adv7343_state, hdl)->sd; in to_sd()
69 static inline int adv7343_write(struct v4l2_subdev *sd, u8 reg, u8 value) in adv7343_write() argument
71 struct i2c_client *client = v4l2_get_subdevdata(sd); in adv7343_write()
132 static int adv7343_setstd(struct v4l2_subdev *sd, v4l2_std_id std) in adv7343_setstd() argument
134 struct adv7343_state *state = to_state(sd); in adv7343_setstd()
151 v4l2_dbg(1, debug, sd, in adv7343_setstd()
160 err = adv7343_write(sd, ADV7343_SD_MODE_REG1, val); in adv7343_setstd()
169 err = adv7343_write(sd, ADV7343_MODE_SELECT_REG, val); in adv7343_setstd()
179 err = adv7343_write(sd, reg, *fsc_ptr); in adv7343_setstd()
192 err = adv7343_write(sd, ADV7343_SD_MODE_REG1, val); in adv7343_setstd()
200 v4l2_err(sd, "Error setting std, write failed\n"); in adv7343_setstd()
205 static int adv7343_setoutput(struct v4l2_subdev *sd, u32 output_type) in adv7343_setoutput() argument
207 struct adv7343_state *state = to_state(sd); in adv7343_setoutput()
212 v4l2_dbg(1, debug, sd, in adv7343_setoutput()
239 err = adv7343_write(sd, ADV7343_POWER_MODE_REG, val); in adv7343_setoutput()
247 err = adv7343_write(sd, ADV7343_MODE_REG0, val); in adv7343_setoutput()
266 err = adv7343_write(sd, ADV7343_SD_MODE_REG2, val); in adv7343_setoutput()
275 err = adv7343_write(sd, ADV7343_HD_MODE_REG6, val); in adv7343_setoutput()
283 v4l2_err(sd, "Error setting output, write failed\n"); in adv7343_setoutput()
288 static int adv7343_log_status(struct v4l2_subdev *sd) in adv7343_log_status() argument
290 struct adv7343_state *state = to_state(sd); in adv7343_log_status()
292 v4l2_info(sd, "Standard: %llx\n", (unsigned long long)state->std); in adv7343_log_status()
293 v4l2_info(sd, "Output: %s\n", (state->output == 0) ? "Composite" : in adv7343_log_status()
300 struct v4l2_subdev *sd = to_sd(ctrl); in adv7343_s_ctrl() local
304 return adv7343_write(sd, ADV7343_SD_BRIGHTNESS_WSS, in adv7343_s_ctrl()
308 return adv7343_write(sd, ADV7343_SD_HUE_REG, ctrl->val); in adv7343_s_ctrl()
311 return adv7343_write(sd, ADV7343_DAC2_OUTPUT_LEVEL, ctrl->val); in adv7343_s_ctrl()
324 static int adv7343_s_std_output(struct v4l2_subdev *sd, v4l2_std_id std) in adv7343_s_std_output() argument
326 struct adv7343_state *state = to_state(sd); in adv7343_s_std_output()
332 err = adv7343_setstd(sd, std); in adv7343_s_std_output()
339 static int adv7343_s_routing(struct v4l2_subdev *sd, in adv7343_s_routing() argument
342 struct adv7343_state *state = to_state(sd); in adv7343_s_routing()
348 err = adv7343_setoutput(sd, output); in adv7343_s_routing()
365 static int adv7343_initialize(struct v4l2_subdev *sd) in adv7343_initialize() argument
367 struct adv7343_state *state = to_state(sd); in adv7343_initialize()
373 err = adv7343_write(sd, adv7343_init_reg_val[i], in adv7343_initialize()
376 v4l2_err(sd, "Error initializing\n"); in adv7343_initialize()
382 err = adv7343_setoutput(sd, state->output); in adv7343_initialize()
384 v4l2_err(sd, "Error setting output during init\n"); in adv7343_initialize()
388 err = adv7343_setstd(sd, state->std); in adv7343_initialize()
390 v4l2_err(sd, "Error setting std during init\n"); in adv7343_initialize()
461 v4l2_i2c_subdev_init(&state->sd, client, &adv7343_ops); in adv7343_probe()
476 state->sd.ctrl_handler = &state->hdl; in adv7343_probe()
483 err = adv7343_initialize(&state->sd); in adv7343_probe()
487 err = v4l2_async_register_subdev(&state->sd); in adv7343_probe()
498 struct v4l2_subdev *sd = i2c_get_clientdata(client); in adv7343_remove() local
499 struct adv7343_state *state = to_state(sd); in adv7343_remove()
501 v4l2_async_unregister_subdev(&state->sd); in adv7343_remove()