diff options
Diffstat (limited to 'drivers/media/video/cx23885/cx23885-video.c')
-rw-r--r-- | drivers/media/video/cx23885/cx23885-video.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/drivers/media/video/cx23885/cx23885-video.c b/drivers/media/video/cx23885/cx23885-video.c index f0ac62c5dc83..68068c6d0987 100644 --- a/drivers/media/video/cx23885/cx23885-video.c +++ b/drivers/media/video/cx23885/cx23885-video.c | |||
@@ -299,7 +299,7 @@ static int cx23885_set_tvnorm(struct cx23885_dev *dev, v4l2_std_id norm) | |||
299 | 299 | ||
300 | dev->tvnorm = norm; | 300 | dev->tvnorm = norm; |
301 | 301 | ||
302 | call_all(dev, tuner, s_std, norm); | 302 | call_all(dev, core, s_std, norm); |
303 | 303 | ||
304 | return 0; | 304 | return 0; |
305 | } | 305 | } |
@@ -393,9 +393,6 @@ static void res_free(struct cx23885_dev *dev, struct cx23885_fh *fh, | |||
393 | 393 | ||
394 | static int cx23885_video_mux(struct cx23885_dev *dev, unsigned int input) | 394 | static int cx23885_video_mux(struct cx23885_dev *dev, unsigned int input) |
395 | { | 395 | { |
396 | struct v4l2_routing route; | ||
397 | memset(&route, 0, sizeof(route)); | ||
398 | |||
399 | dprintk(1, "%s() video_mux: %d [vmux=%d, gpio=0x%x,0x%x,0x%x,0x%x]\n", | 396 | dprintk(1, "%s() video_mux: %d [vmux=%d, gpio=0x%x,0x%x,0x%x,0x%x]\n", |
400 | __func__, | 397 | __func__, |
401 | input, INPUT(input)->vmux, | 398 | input, INPUT(input)->vmux, |
@@ -403,10 +400,9 @@ static int cx23885_video_mux(struct cx23885_dev *dev, unsigned int input) | |||
403 | INPUT(input)->gpio2, INPUT(input)->gpio3); | 400 | INPUT(input)->gpio2, INPUT(input)->gpio3); |
404 | dev->input = input; | 401 | dev->input = input; |
405 | 402 | ||
406 | route.input = INPUT(input)->vmux; | ||
407 | |||
408 | /* Tell the internal A/V decoder */ | 403 | /* Tell the internal A/V decoder */ |
409 | v4l2_subdev_call(dev->sd_cx25840, video, s_routing, &route); | 404 | v4l2_subdev_call(dev->sd_cx25840, video, s_routing, |
405 | INPUT(input)->vmux, 0, 0); | ||
410 | 406 | ||
411 | return 0; | 407 | return 0; |
412 | } | 408 | } |
@@ -1523,10 +1519,12 @@ int cx23885_video_register(struct cx23885_dev *dev) | |||
1523 | struct v4l2_subdev *sd = NULL; | 1519 | struct v4l2_subdev *sd = NULL; |
1524 | 1520 | ||
1525 | if (dev->tuner_addr) | 1521 | if (dev->tuner_addr) |
1526 | sd = v4l2_i2c_new_subdev(&dev->i2c_bus[1].i2c_adap, | 1522 | sd = v4l2_i2c_new_subdev(&dev->v4l2_dev, |
1523 | &dev->i2c_bus[1].i2c_adap, | ||
1527 | "tuner", "tuner", dev->tuner_addr); | 1524 | "tuner", "tuner", dev->tuner_addr); |
1528 | else | 1525 | else |
1529 | sd = v4l2_i2c_new_probed_subdev(&dev->i2c_bus[1].i2c_adap, | 1526 | sd = v4l2_i2c_new_probed_subdev(&dev->v4l2_dev, |
1527 | &dev->i2c_bus[1].i2c_adap, | ||
1530 | "tuner", "tuner", v4l2_i2c_tuner_addrs(ADDRS_TV)); | 1528 | "tuner", "tuner", v4l2_i2c_tuner_addrs(ADDRS_TV)); |
1531 | if (sd) { | 1529 | if (sd) { |
1532 | struct tuner_setup tun_setup; | 1530 | struct tuner_setup tun_setup; |