diff options
Diffstat (limited to 'drivers/media/video/saa717x.c')
-rw-r--r-- | drivers/media/video/saa717x.c | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/drivers/media/video/saa717x.c b/drivers/media/video/saa717x.c index 25bf2303a6b5..b15c40908e84 100644 --- a/drivers/media/video/saa717x.c +++ b/drivers/media/video/saa717x.c | |||
@@ -1104,22 +1104,22 @@ static struct v4l2_queryctrl saa717x_qctrl[] = { | |||
1104 | }, | 1104 | }, |
1105 | }; | 1105 | }; |
1106 | 1106 | ||
1107 | static int saa717x_s_video_routing(struct v4l2_subdev *sd, const struct v4l2_routing *route) | 1107 | static int saa717x_s_video_routing(struct v4l2_subdev *sd, |
1108 | u32 input, u32 output, u32 config) | ||
1108 | { | 1109 | { |
1109 | struct saa717x_state *decoder = to_state(sd); | 1110 | struct saa717x_state *decoder = to_state(sd); |
1110 | int inp = route->input; | 1111 | int is_tuner = input & 0x80; /* tuner input flag */ |
1111 | int is_tuner = inp & 0x80; /* tuner input flag */ | ||
1112 | 1112 | ||
1113 | inp &= 0x7f; | 1113 | input &= 0x7f; |
1114 | 1114 | ||
1115 | v4l2_dbg(1, debug, sd, "decoder set input (%d)\n", inp); | 1115 | v4l2_dbg(1, debug, sd, "decoder set input (%d)\n", input); |
1116 | /* inputs from 0-9 are available*/ | 1116 | /* inputs from 0-9 are available*/ |
1117 | /* saa717x have mode0-mode9 but mode5 is reserved. */ | 1117 | /* saa717x have mode0-mode9 but mode5 is reserved. */ |
1118 | if (inp < 0 || inp > 9 || inp == 5) | 1118 | if (input < 0 || input > 9 || input == 5) |
1119 | return -EINVAL; | 1119 | return -EINVAL; |
1120 | 1120 | ||
1121 | if (decoder->input != inp) { | 1121 | if (decoder->input != input) { |
1122 | int input_line = inp; | 1122 | int input_line = input; |
1123 | 1123 | ||
1124 | decoder->input = input_line; | 1124 | decoder->input = input_line; |
1125 | v4l2_dbg(1, debug, sd, "now setting %s input %d\n", | 1125 | v4l2_dbg(1, debug, sd, "now setting %s input %d\n", |
@@ -1276,12 +1276,13 @@ static int saa717x_s_std(struct v4l2_subdev *sd, v4l2_std_id std) | |||
1276 | return 0; | 1276 | return 0; |
1277 | } | 1277 | } |
1278 | 1278 | ||
1279 | static int saa717x_s_audio_routing(struct v4l2_subdev *sd, const struct v4l2_routing *route) | 1279 | static int saa717x_s_audio_routing(struct v4l2_subdev *sd, |
1280 | u32 input, u32 output, u32 config) | ||
1280 | { | 1281 | { |
1281 | struct saa717x_state *decoder = to_state(sd); | 1282 | struct saa717x_state *decoder = to_state(sd); |
1282 | 1283 | ||
1283 | if (route->input < 3) { /* FIXME! --tadachi */ | 1284 | if (input < 3) { /* FIXME! --tadachi */ |
1284 | decoder->audio_input = route->input; | 1285 | decoder->audio_input = input; |
1285 | v4l2_dbg(1, debug, sd, | 1286 | v4l2_dbg(1, debug, sd, |
1286 | "set decoder audio input to %d\n", | 1287 | "set decoder audio input to %d\n", |
1287 | decoder->audio_input); | 1288 | decoder->audio_input); |
@@ -1390,12 +1391,12 @@ static const struct v4l2_subdev_core_ops saa717x_core_ops = { | |||
1390 | .queryctrl = saa717x_queryctrl, | 1391 | .queryctrl = saa717x_queryctrl, |
1391 | .g_ctrl = saa717x_g_ctrl, | 1392 | .g_ctrl = saa717x_g_ctrl, |
1392 | .s_ctrl = saa717x_s_ctrl, | 1393 | .s_ctrl = saa717x_s_ctrl, |
1394 | .s_std = saa717x_s_std, | ||
1393 | }; | 1395 | }; |
1394 | 1396 | ||
1395 | static const struct v4l2_subdev_tuner_ops saa717x_tuner_ops = { | 1397 | static const struct v4l2_subdev_tuner_ops saa717x_tuner_ops = { |
1396 | .g_tuner = saa717x_g_tuner, | 1398 | .g_tuner = saa717x_g_tuner, |
1397 | .s_tuner = saa717x_s_tuner, | 1399 | .s_tuner = saa717x_s_tuner, |
1398 | .s_std = saa717x_s_std, | ||
1399 | .s_radio = saa717x_s_radio, | 1400 | .s_radio = saa717x_s_radio, |
1400 | }; | 1401 | }; |
1401 | 1402 | ||