diff options
Diffstat (limited to 'drivers/media/video/upd64083.c')
-rw-r--r-- | drivers/media/video/upd64083.c | 9 |
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 | ||
105 | static int upd64083_s_routing(struct v4l2_subdev *sd, const struct v4l2_routing *route) | 105 | static 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); |