aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/upd64083.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/upd64083.c')
-rw-r--r--drivers/media/video/upd64083.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/media/video/upd64083.c b/drivers/media/video/upd64083.c
index 410c915d51fa..6eb0e5b00c32 100644
--- a/drivers/media/video/upd64083.c
+++ b/drivers/media/video/upd64083.c
@@ -102,15 +102,16 @@ static u8 upd64083_read(struct v4l2_subdev *sd, u8 reg)
102 102
103/* ------------------------------------------------------------------------ */ 103/* ------------------------------------------------------------------------ */
104 104
105static int upd64083_s_routing(struct v4l2_subdev *sd, const struct v4l2_routing *route) 105static int upd64083_s_routing(struct v4l2_subdev *sd,
106 u32 input, u32 output, u32 config)
106{ 107{
107 struct upd64083_state *state = to_state(sd); 108 struct upd64083_state *state = to_state(sd);
108 u8 r00, r02; 109 u8 r00, r02;
109 110
110 if (route->input > 7 || (route->input & 6) == 6) 111 if (input > 7 || (input & 6) == 6)
111 return -EINVAL; 112 return -EINVAL;
112 state->mode = (route->input & 3) << 6; 113 state->mode = (input & 3) << 6;
113 state->ext_y_adc = (route->input & UPD64083_EXT_Y_ADC) << 3; 114 state->ext_y_adc = (input & UPD64083_EXT_Y_ADC) << 3;
114 r00 = (state->regs[R00] & ~(3 << 6)) | state->mode; 115 r00 = (state->regs[R00] & ~(3 << 6)) | state->mode;
115 r02 = (state->regs[R02] & ~(1 << 5)) | state->ext_y_adc; 116 r02 = (state->regs[R02] & ~(1 << 5)) | state->ext_y_adc;
116 upd64083_write(sd, R00, r00); 117 upd64083_write(sd, R00, r00);