aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/vino.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/vino.c')
-rw-r--r--drivers/media/video/vino.c33
1 files changed, 15 insertions, 18 deletions
diff --git a/drivers/media/video/vino.c b/drivers/media/video/vino.c
index 8da4dd1e0e94..43e0998adb53 100644
--- a/drivers/media/video/vino.c
+++ b/drivers/media/video/vino.c
@@ -60,8 +60,8 @@
60// #define VINO_DEBUG 60// #define VINO_DEBUG
61// #define VINO_DEBUG_INT 61// #define VINO_DEBUG_INT
62 62
63#define VINO_MODULE_VERSION "0.0.5" 63#define VINO_MODULE_VERSION "0.0.6"
64#define VINO_VERSION_CODE KERNEL_VERSION(0, 0, 5) 64#define VINO_VERSION_CODE KERNEL_VERSION(0, 0, 6)
65 65
66MODULE_DESCRIPTION("SGI VINO Video4Linux2 driver"); 66MODULE_DESCRIPTION("SGI VINO Video4Linux2 driver");
67MODULE_VERSION(VINO_MODULE_VERSION); 67MODULE_VERSION(VINO_MODULE_VERSION);
@@ -2565,12 +2565,11 @@ static int vino_acquire_input(struct vino_channel_settings *vcs)
2565 int input; 2565 int input;
2566 int data_norm; 2566 int data_norm;
2567 v4l2_std_id norm; 2567 v4l2_std_id norm;
2568 struct v4l2_routing route = { 0, 0 };
2569 2568
2570 input = VINO_INPUT_COMPOSITE; 2569 input = VINO_INPUT_COMPOSITE;
2571 2570
2572 route.input = vino_get_saa7191_input(input); 2571 ret = decoder_call(video, s_routing,
2573 ret = decoder_call(video, s_routing, &route); 2572 vino_get_saa7191_input(input), 0, 0);
2574 if (ret) { 2573 if (ret) {
2575 ret = -EINVAL; 2574 ret = -EINVAL;
2576 goto out; 2575 goto out;
@@ -2589,7 +2588,7 @@ static int vino_acquire_input(struct vino_channel_settings *vcs)
2589 } 2588 }
2590 if (data_norm == 3) 2589 if (data_norm == 3)
2591 data_norm = VINO_DATA_NORM_PAL; 2590 data_norm = VINO_DATA_NORM_PAL;
2592 ret = decoder_call(tuner, s_std, norm); 2591 ret = decoder_call(core, s_std, norm);
2593 } 2592 }
2594 2593
2595 spin_lock_irqsave(&vino_drvdata->input_lock, flags); 2594 spin_lock_irqsave(&vino_drvdata->input_lock, flags);
@@ -2656,10 +2655,9 @@ static int vino_set_input(struct vino_channel_settings *vcs, int input)
2656 if (vino_drvdata->decoder_owner == vcs->channel) { 2655 if (vino_drvdata->decoder_owner == vcs->channel) {
2657 int data_norm; 2656 int data_norm;
2658 v4l2_std_id norm; 2657 v4l2_std_id norm;
2659 struct v4l2_routing route = { 0, 0 };
2660 2658
2661 route.input = vino_get_saa7191_input(input); 2659 ret = decoder_call(video, s_routing,
2662 ret = decoder_call(video, s_routing, &route); 2660 vino_get_saa7191_input(input), 0, 0);
2663 if (ret) { 2661 if (ret) {
2664 vino_drvdata->decoder_owner = VINO_NO_CHANNEL; 2662 vino_drvdata->decoder_owner = VINO_NO_CHANNEL;
2665 ret = -EINVAL; 2663 ret = -EINVAL;
@@ -2679,7 +2677,7 @@ static int vino_set_input(struct vino_channel_settings *vcs, int input)
2679 } 2677 }
2680 if (data_norm == 3) 2678 if (data_norm == 3)
2681 data_norm = VINO_DATA_NORM_PAL; 2679 data_norm = VINO_DATA_NORM_PAL;
2682 ret = decoder_call(tuner, s_std, norm); 2680 ret = decoder_call(core, s_std, norm);
2683 } 2681 }
2684 2682
2685 spin_lock_irqsave(&vino_drvdata->input_lock, flags); 2683 spin_lock_irqsave(&vino_drvdata->input_lock, flags);
@@ -2813,7 +2811,7 @@ static int vino_set_data_norm(struct vino_channel_settings *vcs,
2813 * as it may take a while... */ 2811 * as it may take a while... */
2814 2812
2815 norm = vino_data_norms[data_norm].std; 2813 norm = vino_data_norms[data_norm].std;
2816 err = decoder_call(tuner, s_std, norm); 2814 err = decoder_call(core, s_std, norm);
2817 2815
2818 spin_lock_irqsave(&vino_drvdata->input_lock, *flags); 2816 spin_lock_irqsave(&vino_drvdata->input_lock, *flags);
2819 2817
@@ -4266,7 +4264,6 @@ static int vino_init_channel_settings(struct vino_channel_settings *vcs,
4266 4264
4267static int __init vino_module_init(void) 4265static int __init vino_module_init(void)
4268{ 4266{
4269 unsigned short addr[] = { 0, I2C_CLIENT_END };
4270 int ret; 4267 int ret;
4271 4268
4272 printk(KERN_INFO "SGI VINO driver version %s\n", 4269 printk(KERN_INFO "SGI VINO driver version %s\n",
@@ -4336,12 +4333,12 @@ static int __init vino_module_init(void)
4336 } 4333 }
4337 vino_init_stage++; 4334 vino_init_stage++;
4338 4335
4339 addr[0] = 0x45; 4336 vino_drvdata->decoder =
4340 vino_drvdata->decoder = v4l2_i2c_new_probed_subdev(&vino_i2c_adapter, 4337 v4l2_i2c_new_probed_subdev_addr(&vino_drvdata->v4l2_dev,
4341 "saa7191", "saa7191", addr); 4338 &vino_i2c_adapter, "saa7191", "saa7191", 0x45);
4342 addr[0] = 0x2b; 4339 vino_drvdata->camera =
4343 vino_drvdata->camera = v4l2_i2c_new_probed_subdev(&vino_i2c_adapter, 4340 v4l2_i2c_new_probed_subdev_addr(&vino_drvdata->v4l2_dev,
4344 "indycam", "indycam", addr); 4341 &vino_i2c_adapter, "indycam", "indycam", 0x2b);
4345 4342
4346 dprintk("init complete!\n"); 4343 dprintk("init complete!\n");
4347 4344