Lines Matching refs:ctrl

147 static inline struct tw2804 *to_state_from_ctrl(struct v4l2_ctrl *ctrl)  in to_state_from_ctrl()  argument
149 return container_of(ctrl->handler, struct tw2804, hdl); in to_state_from_ctrl()
176 static int tw2804_g_volatile_ctrl(struct v4l2_ctrl *ctrl) in tw2804_g_volatile_ctrl() argument
178 struct tw2804 *state = to_state_from_ctrl(ctrl); in tw2804_g_volatile_ctrl()
181 switch (ctrl->id) { in tw2804_g_volatile_ctrl()
183 ctrl->val = read_reg(client, TW2804_REG_GAIN, 0); in tw2804_g_volatile_ctrl()
187 ctrl->val = read_reg(client, TW2804_REG_CHROMA_GAIN, 0); in tw2804_g_volatile_ctrl()
191 ctrl->val = read_reg(client, TW2804_REG_BLUE_BALANCE, 0); in tw2804_g_volatile_ctrl()
195 ctrl->val = read_reg(client, TW2804_REG_RED_BALANCE, 0); in tw2804_g_volatile_ctrl()
201 static int tw2804_s_ctrl(struct v4l2_ctrl *ctrl) in tw2804_s_ctrl() argument
203 struct tw2804 *state = to_state_from_ctrl(ctrl); in tw2804_s_ctrl()
208 switch (ctrl->id) { in tw2804_s_ctrl()
214 if (ctrl->val == 0) in tw2804_s_ctrl()
225 reg = (reg & ~(0x03)) | (ctrl->val == 0 ? 0x02 : 0x03); in tw2804_s_ctrl()
229 return write_reg(client, TW2804_REG_GAIN, ctrl->val, 0); in tw2804_s_ctrl()
232 return write_reg(client, TW2804_REG_CHROMA_GAIN, ctrl->val, 0); in tw2804_s_ctrl()
235 return write_reg(client, TW2804_REG_BLUE_BALANCE, ctrl->val, 0); in tw2804_s_ctrl()
238 return write_reg(client, TW2804_REG_RED_BALANCE, ctrl->val, 0); in tw2804_s_ctrl()
242 ctrl->val, state->channel); in tw2804_s_ctrl()
246 ctrl->val, state->channel); in tw2804_s_ctrl()
250 ctrl->val, state->channel); in tw2804_s_ctrl()
254 ctrl->val, state->channel); in tw2804_s_ctrl()
364 struct v4l2_ctrl *ctrl; in tw2804_probe() local
391 ctrl = v4l2_ctrl_new_std(&state->hdl, &tw2804_ctrl_ops, in tw2804_probe()
393 if (ctrl) in tw2804_probe()
394 ctrl->flags |= V4L2_CTRL_FLAG_VOLATILE; in tw2804_probe()
395 ctrl = v4l2_ctrl_new_std(&state->hdl, &tw2804_ctrl_ops, in tw2804_probe()
397 if (ctrl) in tw2804_probe()
398 ctrl->flags |= V4L2_CTRL_FLAG_VOLATILE; in tw2804_probe()
399 ctrl = v4l2_ctrl_new_std(&state->hdl, &tw2804_ctrl_ops, in tw2804_probe()
401 if (ctrl) in tw2804_probe()
402 ctrl->flags |= V4L2_CTRL_FLAG_VOLATILE; in tw2804_probe()
403 ctrl = v4l2_ctrl_new_std(&state->hdl, &tw2804_ctrl_ops, in tw2804_probe()
405 if (ctrl) in tw2804_probe()
406 ctrl->flags |= V4L2_CTRL_FLAG_VOLATILE; in tw2804_probe()