diff options
Diffstat (limited to 'drivers/media/video/vino.c')
-rw-r--r-- | drivers/media/video/vino.c | 33 |
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 | ||
66 | MODULE_DESCRIPTION("SGI VINO Video4Linux2 driver"); | 66 | MODULE_DESCRIPTION("SGI VINO Video4Linux2 driver"); |
67 | MODULE_VERSION(VINO_MODULE_VERSION); | 67 | MODULE_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 | ||
4267 | static int __init vino_module_init(void) | 4265 | static 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 | ||