diff options
36 files changed, 38 insertions, 62 deletions
diff --git a/linux/drivers/media/video/au0828/au0828-video.c b/linux/drivers/media/video/au0828/au0828-video.c index 5eac5cde5..f40259e74 100644 --- a/linux/drivers/media/video/au0828/au0828-video.c +++ b/linux/drivers/media/video/au0828/au0828-video.c @@ -1106,7 +1106,7 @@ static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id * norm) have to make the au0828 bridge adjust the size of its capture buffer, which is currently hardcoded at 720x480 */ - v4l2_device_call_all(&dev->v4l2_dev, 0, tuner, s_std, *norm); + v4l2_device_call_all(&dev->v4l2_dev, 0, core, s_std, *norm); return 0; } diff --git a/linux/drivers/media/video/bt819.c b/linux/drivers/media/video/bt819.c index b8c084acf..5929e05ff 100644 --- a/linux/drivers/media/video/bt819.c +++ b/linux/drivers/media/video/bt819.c @@ -450,9 +450,6 @@ static const struct v4l2_subdev_core_ops bt819_core_ops = { .g_ctrl = bt819_g_ctrl, .s_ctrl = bt819_s_ctrl, .queryctrl = bt819_queryctrl, -}; - -static const struct v4l2_subdev_tuner_ops bt819_tuner_ops = { .s_std = bt819_s_std, }; @@ -465,7 +462,6 @@ static const struct v4l2_subdev_video_ops bt819_video_ops = { static const struct v4l2_subdev_ops bt819_ops = { .core = &bt819_core_ops, - .tuner = &bt819_tuner_ops, .video = &bt819_video_ops, }; diff --git a/linux/drivers/media/video/bt8xx/bttv-driver.c b/linux/drivers/media/video/bt8xx/bttv-driver.c index f40eb10fd..054cd2f38 100644 --- a/linux/drivers/media/video/bt8xx/bttv-driver.c +++ b/linux/drivers/media/video/bt8xx/bttv-driver.c @@ -1357,7 +1357,7 @@ set_tvnorm(struct bttv *btv, unsigned int norm) #endif } id = tvnorm->v4l2_id; - bttv_call_all(btv, tuner, s_std, id); + bttv_call_all(btv, core, s_std, id); return 0; } diff --git a/linux/drivers/media/video/cx18/cx18-av-core.c b/linux/drivers/media/video/cx18/cx18-av-core.c index 0c58e55fd..9b3e574dd 100644 --- a/linux/drivers/media/video/cx18/cx18-av-core.c +++ b/linux/drivers/media/video/cx18/cx18-av-core.c @@ -1189,6 +1189,7 @@ static const struct v4l2_subdev_core_ops cx18_av_general_ops = { .queryctrl = cx18_av_queryctrl, .g_ctrl = cx18_av_g_ctrl, .s_ctrl = cx18_av_s_ctrl, + .s_std = cx18_av_s_std, #ifdef CONFIG_VIDEO_ADV_DEBUG .g_register = cx18_av_g_register, .s_register = cx18_av_s_register, @@ -1200,7 +1201,6 @@ static const struct v4l2_subdev_tuner_ops cx18_av_tuner_ops = { .s_frequency = cx18_av_s_frequency, .g_tuner = cx18_av_g_tuner, .s_tuner = cx18_av_s_tuner, - .s_std = cx18_av_s_std, }; static const struct v4l2_subdev_audio_ops cx18_av_audio_ops = { diff --git a/linux/drivers/media/video/cx18/cx18-fileops.c b/linux/drivers/media/video/cx18/cx18-fileops.c index 7d82c8fb3..d20ac818f 100644 --- a/linux/drivers/media/video/cx18/cx18-fileops.c +++ b/linux/drivers/media/video/cx18/cx18-fileops.c @@ -644,7 +644,7 @@ int cx18_v4l2_close(struct file *filp) /* Mark that the radio is no longer in use */ clear_bit(CX18_F_I_RADIO_USER, &cx->i_flags); /* Switch tuner to TV */ - cx18_call_all(cx, tuner, s_std, cx->std); + cx18_call_all(cx, core, s_std, cx->std); /* Select correct audio input (i.e. TV tuner or Line in) */ cx18_audio_set_io(cx); if (atomic_read(&cx->ana_capturing) > 0) { diff --git a/linux/drivers/media/video/cx18/cx18-gpio.c b/linux/drivers/media/video/cx18/cx18-gpio.c index 5518d1424..ae2460e68 100644 --- a/linux/drivers/media/video/cx18/cx18-gpio.c +++ b/linux/drivers/media/video/cx18/cx18-gpio.c @@ -180,10 +180,10 @@ static int gpiomux_s_audio_routing(struct v4l2_subdev *sd, static const struct v4l2_subdev_core_ops gpiomux_core_ops = { .log_status = gpiomux_log_status, + .s_std = gpiomux_s_std, }; static const struct v4l2_subdev_tuner_ops gpiomux_tuner_ops = { - .s_std = gpiomux_s_std, .s_radio = gpiomux_s_radio, }; diff --git a/linux/drivers/media/video/cx18/cx18-ioctl.c b/linux/drivers/media/video/cx18/cx18-ioctl.c index c7e85f879..810c39f85 100644 --- a/linux/drivers/media/video/cx18/cx18-ioctl.c +++ b/linux/drivers/media/video/cx18/cx18-ioctl.c @@ -713,7 +713,7 @@ int cx18_s_std(struct file *file, void *fh, v4l2_std_id *std) (unsigned long long) cx->std); /* Tuner */ - cx18_call_all(cx, tuner, s_std, cx->std); + cx18_call_all(cx, core, s_std, cx->std); return 0; } diff --git a/linux/drivers/media/video/cx231xx/cx231xx-video.c b/linux/drivers/media/video/cx231xx/cx231xx-video.c index c33921038..37703f02b 100644 --- a/linux/drivers/media/video/cx231xx/cx231xx-video.c +++ b/linux/drivers/media/video/cx231xx/cx231xx-video.c @@ -1089,7 +1089,7 @@ static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id *norm) dev->height = f.fmt.pix.height; get_scale(dev, dev->width, dev->height, &dev->hscale, &dev->vscale); - call_all(dev, tuner, s_std, dev->norm); + call_all(dev, core, s_std, dev->norm); mutex_unlock(&dev->lock); diff --git a/linux/drivers/media/video/cx23885/cx23885-417.c b/linux/drivers/media/video/cx23885/cx23885-417.c index aeef889fd..574cdb385 100644 --- a/linux/drivers/media/video/cx23885/cx23885-417.c +++ b/linux/drivers/media/video/cx23885/cx23885-417.c @@ -1194,7 +1194,7 @@ static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id *id) * This will likely need to be enabled for non NTSC * formats. */ - call_all(dev, tuner, s_std, id); + call_all(dev, core, s_std, id); #endif return 0; } diff --git a/linux/drivers/media/video/cx23885/cx23885-video.c b/linux/drivers/media/video/cx23885/cx23885-video.c index a45bd3b77..c5467ec46 100644 --- a/linux/drivers/media/video/cx23885/cx23885-video.c +++ b/linux/drivers/media/video/cx23885/cx23885-video.c @@ -334,7 +334,7 @@ static int cx23885_set_tvnorm(struct cx23885_dev *dev, v4l2_std_id norm) dev->tvnorm = norm; - call_all(dev, tuner, s_std, norm); + call_all(dev, core, s_std, norm); return 0; } diff --git a/linux/drivers/media/video/cx25840/cx25840-core.c b/linux/drivers/media/video/cx25840/cx25840-core.c index 1af7dbfbc..e5bf756e5 100644 --- a/linux/drivers/media/video/cx25840/cx25840-core.c +++ b/linux/drivers/media/video/cx25840/cx25840-core.c @@ -1504,6 +1504,7 @@ static const struct v4l2_subdev_core_ops cx25840_core_ops = { .g_ctrl = cx25840_g_ctrl, .s_ctrl = cx25840_s_ctrl, .queryctrl = cx25840_queryctrl, + .s_std = cx25840_s_std, .reset = cx25840_reset, .load_fw = cx25840_load_fw, #ifdef CONFIG_VIDEO_ADV_DEBUG @@ -1514,7 +1515,6 @@ static const struct v4l2_subdev_core_ops cx25840_core_ops = { static const struct v4l2_subdev_tuner_ops cx25840_tuner_ops = { .s_frequency = cx25840_s_frequency, - .s_std = cx25840_s_std, .s_radio = cx25840_s_radio, .g_tuner = cx25840_g_tuner, .s_tuner = cx25840_s_tuner, diff --git a/linux/drivers/media/video/cx88/cx88-core.c b/linux/drivers/media/video/cx88/cx88-core.c index faee9d885..71dccf6af 100644 --- a/linux/drivers/media/video/cx88/cx88-core.c +++ b/linux/drivers/media/video/cx88/cx88-core.c @@ -1020,7 +1020,7 @@ int cx88_set_tvnorm(struct cx88_core *core, v4l2_std_id norm) set_tvaudio(core); // tell i2c chips - call_all(core, tuner, s_std, norm); + call_all(core, core, s_std, norm); // done return 0; diff --git a/linux/drivers/media/video/em28xx/em28xx-video.c b/linux/drivers/media/video/em28xx/em28xx-video.c index 5d8fe3fe9..212444179 100644 --- a/linux/drivers/media/video/em28xx/em28xx-video.c +++ b/linux/drivers/media/video/em28xx/em28xx-video.c @@ -833,7 +833,7 @@ static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id *norm) get_scale(dev, dev->width, dev->height, &dev->hscale, &dev->vscale); em28xx_resolution_set(dev); - v4l2_device_call_all(&dev->v4l2_dev, 0, tuner, s_std, dev->norm); + v4l2_device_call_all(&dev->v4l2_dev, 0, core, s_std, dev->norm); mutex_unlock(&dev->lock); return 0; diff --git a/linux/drivers/media/video/ivtv/ivtv-fileops.c b/linux/drivers/media/video/ivtv/ivtv-fileops.c index cfaacf609..e212337c6 100644 --- a/linux/drivers/media/video/ivtv/ivtv-fileops.c +++ b/linux/drivers/media/video/ivtv/ivtv-fileops.c @@ -857,7 +857,7 @@ int ivtv_v4l2_close(struct file *filp) /* Mark that the radio is no longer in use */ clear_bit(IVTV_F_I_RADIO_USER, &itv->i_flags); /* Switch tuner to TV */ - ivtv_call_all(itv, tuner, s_std, itv->std); + ivtv_call_all(itv, core, s_std, itv->std); /* Select correct audio input (i.e. TV tuner or Line in) */ ivtv_audio_set_io(itv); if (itv->hw_flags & IVTV_HW_SAA711X) diff --git a/linux/drivers/media/video/ivtv/ivtv-gpio.c b/linux/drivers/media/video/ivtv/ivtv-gpio.c index 3321983d8..0dd5f53b7 100644 --- a/linux/drivers/media/video/ivtv/ivtv-gpio.c +++ b/linux/drivers/media/video/ivtv/ivtv-gpio.c @@ -342,10 +342,10 @@ static const struct v4l2_subdev_core_ops subdev_core_ops = { .g_ctrl = subdev_g_ctrl, .s_ctrl = subdev_s_ctrl, .queryctrl = subdev_queryctrl, + .s_std = subdev_s_std, }; static const struct v4l2_subdev_tuner_ops subdev_tuner_ops = { - .s_std = subdev_s_std, .s_radio = subdev_s_radio, .g_tuner = subdev_g_tuner, .s_tuner = subdev_s_tuner, diff --git a/linux/drivers/media/video/ivtv/ivtv-ioctl.c b/linux/drivers/media/video/ivtv/ivtv-ioctl.c index 9a0424298..052fbe9cd 100644 --- a/linux/drivers/media/video/ivtv/ivtv-ioctl.c +++ b/linux/drivers/media/video/ivtv/ivtv-ioctl.c @@ -1121,7 +1121,7 @@ int ivtv_s_std(struct file *file, void *fh, v4l2_std_id *std) IVTV_DEBUG_INFO("Switching standard to %llx.\n", (unsigned long long)itv->std); /* Tuner */ - ivtv_call_all(itv, tuner, s_std, itv->std); + ivtv_call_all(itv, core, s_std, itv->std); if (itv->v4l2_cap & V4L2_CAP_VIDEO_OUTPUT) { /* set display standard */ diff --git a/linux/drivers/media/video/ks0127.c b/linux/drivers/media/video/ks0127.c index a1b12557a..198971b75 100644 --- a/linux/drivers/media/video/ks0127.c +++ b/linux/drivers/media/video/ks0127.c @@ -658,9 +658,6 @@ static int ks0127_g_chip_ident(struct v4l2_subdev *sd, struct v4l2_dbg_chip_iden static const struct v4l2_subdev_core_ops ks0127_core_ops = { .g_chip_ident = ks0127_g_chip_ident, -}; - -static const struct v4l2_subdev_tuner_ops ks0127_tuner_ops = { .s_std = ks0127_s_std, }; @@ -673,7 +670,6 @@ static const struct v4l2_subdev_video_ops ks0127_video_ops = { static const struct v4l2_subdev_ops ks0127_ops = { .core = &ks0127_core_ops, - .tuner = &ks0127_tuner_ops, .video = &ks0127_video_ops, }; diff --git a/linux/drivers/media/video/msp3400-driver.c b/linux/drivers/media/video/msp3400-driver.c index d89531433..5b63af6f8 100644 --- a/linux/drivers/media/video/msp3400-driver.c +++ b/linux/drivers/media/video/msp3400-driver.c @@ -711,6 +711,7 @@ static const struct v4l2_subdev_core_ops msp_core_ops = { .g_ctrl = msp_g_ctrl, .s_ctrl = msp_s_ctrl, .queryctrl = msp_queryctrl, + .s_std = msp_s_std, }; static const struct v4l2_subdev_tuner_ops msp_tuner_ops = { @@ -718,7 +719,6 @@ static const struct v4l2_subdev_tuner_ops msp_tuner_ops = { .g_tuner = msp_g_tuner, .s_tuner = msp_s_tuner, .s_radio = msp_s_radio, - .s_std = msp_s_std, }; static const struct v4l2_subdev_audio_ops msp_audio_ops = { diff --git a/linux/drivers/media/video/mxb.c b/linux/drivers/media/video/mxb.c index c85cfd27e..93209d160 100644 --- a/linux/drivers/media/video/mxb.c +++ b/linux/drivers/media/video/mxb.c @@ -270,7 +270,7 @@ static int mxb_init_done(struct saa7146_dev* dev) int i = 0, err = 0; /* select video mode in saa7111a */ - saa7111a_call(mxb, tuner, s_std, std); + saa7111a_call(mxb, core, s_std, std); /* select tuner-output on saa7111a */ i = 0; @@ -290,7 +290,7 @@ static int mxb_init_done(struct saa7146_dev* dev) tuner_call(mxb, tuner, s_frequency, &mxb->cur_freq); /* set a default video standard */ - tuner_call(mxb, tuner, s_std, std); + tuner_call(mxb, core, s_std, std); /* mute audio on tea6420s */ tea6420_1_call(mxb, audio, s_routing, &TEA6420_line[6][0]); @@ -792,7 +792,7 @@ static int std_callback(struct saa7146_dev *dev, struct saa7146_standard *standa saa7146_write(dev, GPIO_CTRL, 0x00404050); /* unset the 7111 gpio register -- I don't know what this does exactly */ saa7111a_call(mxb, core, s_gpio, 0); - tuner_call(mxb, tuner, s_std, std); + tuner_call(mxb, core, s_std, std); } else { v4l2_std_id std = V4L2_STD_PAL_BG; @@ -801,7 +801,7 @@ static int std_callback(struct saa7146_dev *dev, struct saa7146_standard *standa saa7146_write(dev, GPIO_CTRL, 0x00404050); /* set the 7111 gpio register -- I don't know what this does exactly */ saa7111a_call(mxb, core, s_gpio, 1); - tuner_call(mxb, tuner, s_std, std); + tuner_call(mxb, core, s_std, std); } return 0; } diff --git a/linux/drivers/media/video/pvrusb2/pvrusb2-hdw.c b/linux/drivers/media/video/pvrusb2/pvrusb2-hdw.c index c7740866c..1c2f8286b 100644 --- a/linux/drivers/media/video/pvrusb2/pvrusb2-hdw.c +++ b/linux/drivers/media/video/pvrusb2/pvrusb2-hdw.c @@ -2965,7 +2965,7 @@ static void pvr2_subdev_update(struct pvr2_hdw *hdw) v4l2_std_id vs; vs = hdw->std_mask_cur; v4l2_device_call_all(&hdw->v4l2_dev, 0, - tuner, s_std, vs); + core, s_std, vs); } hdw->tuner_signal_stale = !0; hdw->cropcap_stale = !0; diff --git a/linux/drivers/media/video/saa7110.c b/linux/drivers/media/video/saa7110.c index bb58477e5..d26737735 100644 --- a/linux/drivers/media/video/saa7110.c +++ b/linux/drivers/media/video/saa7110.c @@ -420,9 +420,6 @@ static const struct v4l2_subdev_core_ops saa7110_core_ops = { .g_ctrl = saa7110_g_ctrl, .s_ctrl = saa7110_s_ctrl, .queryctrl = saa7110_queryctrl, -}; - -static const struct v4l2_subdev_tuner_ops saa7110_tuner_ops = { .s_std = saa7110_s_std, }; @@ -435,7 +432,6 @@ static const struct v4l2_subdev_video_ops saa7110_video_ops = { static const struct v4l2_subdev_ops saa7110_ops = { .core = &saa7110_core_ops, - .tuner = &saa7110_tuner_ops, .video = &saa7110_video_ops, }; diff --git a/linux/drivers/media/video/saa7115.c b/linux/drivers/media/video/saa7115.c index 448d51b58..f4f624583 100644 --- a/linux/drivers/media/video/saa7115.c +++ b/linux/drivers/media/video/saa7115.c @@ -1509,6 +1509,7 @@ static const struct v4l2_subdev_core_ops saa711x_core_ops = { .g_ctrl = saa711x_g_ctrl, .s_ctrl = saa711x_s_ctrl, .queryctrl = saa711x_queryctrl, + .s_std = saa711x_s_std, .reset = saa711x_reset, .s_gpio = saa711x_s_gpio, #ifdef CONFIG_VIDEO_ADV_DEBUG @@ -1518,7 +1519,6 @@ static const struct v4l2_subdev_core_ops saa711x_core_ops = { }; static const struct v4l2_subdev_tuner_ops saa711x_tuner_ops = { - .s_std = saa711x_s_std, .s_radio = saa711x_s_radio, .g_tuner = saa711x_g_tuner, }; diff --git a/linux/drivers/media/video/saa7134/saa6752hs.c b/linux/drivers/media/video/saa7134/saa6752hs.c index 2b82466d4..a96e0bb1f 100644 --- a/linux/drivers/media/video/saa7134/saa6752hs.c +++ b/linux/drivers/media/video/saa7134/saa6752hs.c @@ -935,9 +935,6 @@ static const struct v4l2_subdev_core_ops saa6752hs_core_ops = { .g_ext_ctrls = saa6752hs_g_ext_ctrls, .s_ext_ctrls = saa6752hs_s_ext_ctrls, .try_ext_ctrls = saa6752hs_try_ext_ctrls, -}; - -static const struct v4l2_subdev_tuner_ops saa6752hs_tuner_ops = { .s_std = saa6752hs_s_std, }; @@ -948,7 +945,6 @@ static const struct v4l2_subdev_video_ops saa6752hs_video_ops = { static const struct v4l2_subdev_ops saa6752hs_ops = { .core = &saa6752hs_core_ops, - .tuner = &saa6752hs_tuner_ops, .video = &saa6752hs_video_ops, }; diff --git a/linux/drivers/media/video/saa7134/saa7134-video.c b/linux/drivers/media/video/saa7134/saa7134-video.c index d7117b935..5f68bed54 100644 --- a/linux/drivers/media/video/saa7134/saa7134-video.c +++ b/linux/drivers/media/video/saa7134/saa7134-video.c @@ -625,10 +625,10 @@ void saa7134_set_tvnorm_hw(struct saa7134_dev *dev) saa7134_set_decoder(dev); if (card_in(dev, dev->ctl_input).tv) - saa_call_all(dev, tuner, s_std, dev->tvnorm->id); + saa_call_all(dev, core, s_std, dev->tvnorm->id); /* Set the correct norm for the saa6752hs. This function does nothing if there is no saa6752hs. */ - saa_call_empress(dev, tuner, s_std, dev->tvnorm->id); + saa_call_empress(dev, core, s_std, dev->tvnorm->id); } static void set_h_prescale(struct saa7134_dev *dev, int task, int prescale) diff --git a/linux/drivers/media/video/saa717x.c b/linux/drivers/media/video/saa717x.c index ae8fcde9d..1274adeeb 100644 --- a/linux/drivers/media/video/saa717x.c +++ b/linux/drivers/media/video/saa717x.c @@ -1396,12 +1396,12 @@ static const struct v4l2_subdev_core_ops saa717x_core_ops = { .queryctrl = saa717x_queryctrl, .g_ctrl = saa717x_g_ctrl, .s_ctrl = saa717x_s_ctrl, + .s_std = saa717x_s_std, }; static const struct v4l2_subdev_tuner_ops saa717x_tuner_ops = { .g_tuner = saa717x_g_tuner, .s_tuner = saa717x_s_tuner, - .s_std = saa717x_s_std, .s_radio = saa717x_s_radio, }; diff --git a/linux/drivers/media/video/saa7191.c b/linux/drivers/media/video/saa7191.c index 0a14ab6db..d78fa294a 100644 --- a/linux/drivers/media/video/saa7191.c +++ b/linux/drivers/media/video/saa7191.c @@ -588,9 +588,6 @@ static const struct v4l2_subdev_core_ops saa7191_core_ops = { .g_chip_ident = saa7191_g_chip_ident, .g_ctrl = saa7191_g_ctrl, .s_ctrl = saa7191_s_ctrl, -}; - -static const struct v4l2_subdev_tuner_ops saa7191_tuner_ops = { .s_std = saa7191_s_std, }; @@ -603,7 +600,6 @@ static const struct v4l2_subdev_video_ops saa7191_video_ops = { static const struct v4l2_subdev_ops saa7191_ops = { .core = &saa7191_core_ops, .video = &saa7191_video_ops, - .tuner = &saa7191_tuner_ops, }; static int saa7191_probe(struct i2c_client *client, diff --git a/linux/drivers/media/video/tuner-core.c b/linux/drivers/media/video/tuner-core.c index 4b68c5394..ab1eb58ea 100644 --- a/linux/drivers/media/video/tuner-core.c +++ b/linux/drivers/media/video/tuner-core.c @@ -1005,10 +1005,10 @@ static int tuner_command(struct i2c_client *client, unsigned cmd, void *arg) static const struct v4l2_subdev_core_ops tuner_core_ops = { .log_status = tuner_log_status, + .s_std = tuner_s_std, }; static const struct v4l2_subdev_tuner_ops tuner_tuner_ops = { - .s_std = tuner_s_std, .s_radio = tuner_s_radio, .g_tuner = tuner_g_tuner, .s_tuner = tuner_s_tuner, diff --git a/linux/drivers/media/video/tvaudio.c b/linux/drivers/media/video/tvaudio.c index 28caf6ef3..8e396af46 100644 --- a/linux/drivers/media/video/tvaudio.c +++ b/linux/drivers/media/video/tvaudio.c @@ -1935,12 +1935,12 @@ static const struct v4l2_subdev_core_ops tvaudio_core_ops = { .queryctrl = tvaudio_queryctrl, .g_ctrl = tvaudio_g_ctrl, .s_ctrl = tvaudio_s_ctrl, + .s_std = tvaudio_s_std, }; static const struct v4l2_subdev_tuner_ops tvaudio_tuner_ops = { .s_radio = tvaudio_s_radio, .s_frequency = tvaudio_s_frequency, - .s_std = tvaudio_s_std, .s_tuner = tvaudio_s_tuner, .s_tuner = tvaudio_g_tuner, }; diff --git a/linux/drivers/media/video/tvp5150.c b/linux/drivers/media/video/tvp5150.c index 3b1eab033..80fd240d1 100644 --- a/linux/drivers/media/video/tvp5150.c +++ b/linux/drivers/media/video/tvp5150.c @@ -1102,6 +1102,7 @@ static const struct v4l2_subdev_core_ops tvp5150_core_ops = { .g_ctrl = tvp5150_g_ctrl, .s_ctrl = tvp5150_s_ctrl, .queryctrl = tvp5150_queryctrl, + .s_std = tvp5150_s_std, .reset = tvp5150_reset, .g_chip_ident = tvp5150_g_chip_ident, #ifdef CONFIG_VIDEO_ADV_DEBUG @@ -1111,7 +1112,6 @@ static const struct v4l2_subdev_core_ops tvp5150_core_ops = { }; static const struct v4l2_subdev_tuner_ops tvp5150_tuner_ops = { - .s_std = tvp5150_s_std, .g_tuner = tvp5150_g_tuner, }; diff --git a/linux/drivers/media/video/usbvision/usbvision-video.c b/linux/drivers/media/video/usbvision/usbvision-video.c index fa62a2fd7..af06eb2f8 100644 --- a/linux/drivers/media/video/usbvision/usbvision-video.c +++ b/linux/drivers/media/video/usbvision/usbvision-video.c @@ -621,7 +621,7 @@ static int vidioc_s_std (struct file *file, void *priv, v4l2_std_id *id) usbvision->tvnormId=*id; mutex_lock(&usbvision->lock); - call_all(usbvision, tuner, s_std, usbvision->tvnormId); + call_all(usbvision, core, s_std, usbvision->tvnormId); mutex_unlock(&usbvision->lock); /* propagate the change to the decoder */ usbvision_muxsel(usbvision, usbvision->ctl_input); diff --git a/linux/drivers/media/video/vino.c b/linux/drivers/media/video/vino.c index 274b99b56..7b22043b3 100644 --- a/linux/drivers/media/video/vino.c +++ b/linux/drivers/media/video/vino.c @@ -2593,7 +2593,7 @@ static int vino_acquire_input(struct vino_channel_settings *vcs) } if (data_norm == 3) data_norm = VINO_DATA_NORM_PAL; - ret = decoder_call(tuner, s_std, norm); + ret = decoder_call(core, s_std, norm); } spin_lock_irqsave(&vino_drvdata->input_lock, flags); @@ -2683,7 +2683,7 @@ static int vino_set_input(struct vino_channel_settings *vcs, int input) } if (data_norm == 3) data_norm = VINO_DATA_NORM_PAL; - ret = decoder_call(tuner, s_std, norm); + ret = decoder_call(core, s_std, norm); } spin_lock_irqsave(&vino_drvdata->input_lock, flags); @@ -2817,7 +2817,7 @@ static int vino_set_data_norm(struct vino_channel_settings *vcs, * as it may take a while... */ norm = vino_data_norms[data_norm].std; - err = decoder_call(tuner, s_std, norm); + err = decoder_call(core, s_std, norm); spin_lock_irqsave(&vino_drvdata->input_lock, *flags); diff --git a/linux/drivers/media/video/vp27smpx.c b/linux/drivers/media/video/vp27smpx.c index be046e961..710c3aeca 100644 --- a/linux/drivers/media/video/vp27smpx.c +++ b/linux/drivers/media/video/vp27smpx.c @@ -140,11 +140,11 @@ static int vp27smpx_log_status(struct v4l2_subdev *sd) static const struct v4l2_subdev_core_ops vp27smpx_core_ops = { .log_status = vp27smpx_log_status, .g_chip_ident = vp27smpx_g_chip_ident, + .s_std = vp27smpx_s_std, }; static const struct v4l2_subdev_tuner_ops vp27smpx_tuner_ops = { .s_radio = vp27smpx_s_radio, - .s_std = vp27smpx_s_std, .s_tuner = vp27smpx_s_tuner, .g_tuner = vp27smpx_g_tuner, }; diff --git a/linux/drivers/media/video/vpx3220.c b/linux/drivers/media/video/vpx3220.c index 224c899d1..962e9d539 100644 --- a/linux/drivers/media/video/vpx3220.c +++ b/linux/drivers/media/video/vpx3220.c @@ -536,9 +536,6 @@ static const struct v4l2_subdev_core_ops vpx3220_core_ops = { .g_ctrl = vpx3220_g_ctrl, .s_ctrl = vpx3220_s_ctrl, .queryctrl = vpx3220_queryctrl, -}; - -static const struct v4l2_subdev_tuner_ops vpx3220_tuner_ops = { .s_std = vpx3220_s_std, }; @@ -551,7 +548,6 @@ static const struct v4l2_subdev_video_ops vpx3220_video_ops = { static const struct v4l2_subdev_ops vpx3220_ops = { .core = &vpx3220_core_ops, - .tuner = &vpx3220_tuner_ops, .video = &vpx3220_video_ops, }; diff --git a/linux/drivers/media/video/zoran/zoran_device.c b/linux/drivers/media/video/zoran/zoran_device.c index 54a04ea5c..b2880095c 100644 --- a/linux/drivers/media/video/zoran/zoran_device.c +++ b/linux/drivers/media/video/zoran/zoran_device.c @@ -1590,7 +1590,7 @@ zoran_init_hardware (struct zoran *zr) route.input = zr->card.input[zr->input].muxsel; decoder_call(zr, core, init, 0); - decoder_call(zr, tuner, s_std, zr->norm); + decoder_call(zr, core, s_std, zr->norm); decoder_call(zr, video, s_routing, &route); encoder_call(zr, core, init, 0); diff --git a/linux/drivers/media/video/zoran/zoran_driver.c b/linux/drivers/media/video/zoran/zoran_driver.c index c702ea0fe..b965a316c 100644 --- a/linux/drivers/media/video/zoran/zoran_driver.c +++ b/linux/drivers/media/video/zoran/zoran_driver.c @@ -1457,7 +1457,7 @@ zoran_set_norm (struct zoran *zr, v4l2_std_id std = 0; decoder_call(zr, video, querystd, &std); - decoder_call(zr, tuner, s_std, std); + decoder_call(zr, core, s_std, std); /* let changes come into effect */ ssleep(2); @@ -1469,7 +1469,7 @@ zoran_set_norm (struct zoran *zr, "%s: %s - no norm detected\n", ZR_DEVNAME(zr), __func__); /* reset norm */ - decoder_call(zr, tuner, s_std, zr->norm); + decoder_call(zr, core, s_std, zr->norm); return -EIO; } @@ -1488,7 +1488,7 @@ zoran_set_norm (struct zoran *zr, if (on) zr36057_overlay(zr, 0); - decoder_call(zr, tuner, s_std, norm); + decoder_call(zr, core, s_std, norm); encoder_call(zr, video, s_std_output, norm); if (on) diff --git a/linux/include/media/v4l2-subdev.h b/linux/include/media/v4l2-subdev.h index 38b89cf7c..b4e48dc3f 100644 --- a/linux/include/media/v4l2-subdev.h +++ b/linux/include/media/v4l2-subdev.h @@ -113,6 +113,7 @@ struct v4l2_subdev_core_ops { int (*s_ext_ctrls)(struct v4l2_subdev *sd, struct v4l2_ext_controls *ctrls); int (*try_ext_ctrls)(struct v4l2_subdev *sd, struct v4l2_ext_controls *ctrls); int (*querymenu)(struct v4l2_subdev *sd, struct v4l2_querymenu *qm); + int (*s_std)(struct v4l2_subdev *sd, v4l2_std_id norm); long (*ioctl)(struct v4l2_subdev *sd, unsigned int cmd, void *arg); #ifdef CONFIG_VIDEO_ADV_DEBUG int (*g_register)(struct v4l2_subdev *sd, struct v4l2_dbg_register *reg); @@ -137,7 +138,6 @@ struct v4l2_subdev_tuner_ops { int (*g_frequency)(struct v4l2_subdev *sd, struct v4l2_frequency *freq); int (*g_tuner)(struct v4l2_subdev *sd, struct v4l2_tuner *vt); int (*s_tuner)(struct v4l2_subdev *sd, struct v4l2_tuner *vt); - int (*s_std)(struct v4l2_subdev *sd, v4l2_std_id norm); int (*s_type_addr)(struct v4l2_subdev *sd, struct tuner_setup *type); int (*s_config)(struct v4l2_subdev *sd, const struct v4l2_priv_tun_config *config); int (*s_standby)(struct v4l2_subdev *sd); |