Lines Matching refs:ctrl
135 static inline struct tw2804 *to_state_from_ctrl(struct v4l2_ctrl *ctrl) in to_state_from_ctrl() argument
137 return container_of(ctrl->handler, struct tw2804, hdl); in to_state_from_ctrl()
164 static int tw2804_g_volatile_ctrl(struct v4l2_ctrl *ctrl) in tw2804_g_volatile_ctrl() argument
166 struct tw2804 *state = to_state_from_ctrl(ctrl); in tw2804_g_volatile_ctrl()
169 switch (ctrl->id) { in tw2804_g_volatile_ctrl()
171 ctrl->val = read_reg(client, TW2804_REG_GAIN, 0); in tw2804_g_volatile_ctrl()
175 ctrl->val = read_reg(client, TW2804_REG_CHROMA_GAIN, 0); in tw2804_g_volatile_ctrl()
179 ctrl->val = read_reg(client, TW2804_REG_BLUE_BALANCE, 0); in tw2804_g_volatile_ctrl()
183 ctrl->val = read_reg(client, TW2804_REG_RED_BALANCE, 0); in tw2804_g_volatile_ctrl()
189 static int tw2804_s_ctrl(struct v4l2_ctrl *ctrl) in tw2804_s_ctrl() argument
191 struct tw2804 *state = to_state_from_ctrl(ctrl); in tw2804_s_ctrl()
196 switch (ctrl->id) { in tw2804_s_ctrl()
202 if (ctrl->val == 0) in tw2804_s_ctrl()
213 reg = (reg & ~(0x03)) | (ctrl->val == 0 ? 0x02 : 0x03); in tw2804_s_ctrl()
217 return write_reg(client, TW2804_REG_GAIN, ctrl->val, 0); in tw2804_s_ctrl()
220 return write_reg(client, TW2804_REG_CHROMA_GAIN, ctrl->val, 0); in tw2804_s_ctrl()
223 return write_reg(client, TW2804_REG_BLUE_BALANCE, ctrl->val, 0); in tw2804_s_ctrl()
226 return write_reg(client, TW2804_REG_RED_BALANCE, ctrl->val, 0); in tw2804_s_ctrl()
230 ctrl->val, state->channel); in tw2804_s_ctrl()
234 ctrl->val, state->channel); in tw2804_s_ctrl()
238 ctrl->val, state->channel); in tw2804_s_ctrl()
242 ctrl->val, state->channel); in tw2804_s_ctrl()
351 struct v4l2_ctrl *ctrl; in tw2804_probe() local
378 ctrl = v4l2_ctrl_new_std(&state->hdl, &tw2804_ctrl_ops, in tw2804_probe()
380 if (ctrl) in tw2804_probe()
381 ctrl->flags |= V4L2_CTRL_FLAG_VOLATILE; in tw2804_probe()
382 ctrl = v4l2_ctrl_new_std(&state->hdl, &tw2804_ctrl_ops, in tw2804_probe()
384 if (ctrl) in tw2804_probe()
385 ctrl->flags |= V4L2_CTRL_FLAG_VOLATILE; in tw2804_probe()
386 ctrl = v4l2_ctrl_new_std(&state->hdl, &tw2804_ctrl_ops, in tw2804_probe()
388 if (ctrl) in tw2804_probe()
389 ctrl->flags |= V4L2_CTRL_FLAG_VOLATILE; in tw2804_probe()
390 ctrl = v4l2_ctrl_new_std(&state->hdl, &tw2804_ctrl_ops, in tw2804_probe()
392 if (ctrl) in tw2804_probe()
393 ctrl->flags |= V4L2_CTRL_FLAG_VOLATILE; in tw2804_probe()