The patch number 11370 was added via Hans Verkuil <hverk...@xs4all.nl>
to http://linuxtv.org/hg/v4l-dvb master development tree.

Kernel patches in this development tree may be modified to be backward
compatible with older kernels. Compatibility modifications will be
removed before inclusion into the mainstream Kernel

If anyone has any objections, please let us know by sending a message to:
        Linux Media Mailing List <linux-me...@vger.kernel.org>

------

From: Hans Verkuil  <hverk...@xs4all.nl>
v4l2-subdev: move s_std from tuner to core.


s_std didn't belong in the tuner ops. Stricly speaking it should be part of
the video ops, but it is used by audio and tuner devices as well, so it is
more efficient to make it part of the core ops.

Priority: normal

Signed-off-by: Hans Verkuil <hverk...@xs4all.nl>


---

 linux/drivers/media/video/au0828/au0828-video.c       |    2 +-
 linux/drivers/media/video/bt819.c                     |    4 ----
 linux/drivers/media/video/bt8xx/bttv-driver.c         |    2 +-
 linux/drivers/media/video/cx18/cx18-av-core.c         |    2 +-
 linux/drivers/media/video/cx18/cx18-fileops.c         |    2 +-
 linux/drivers/media/video/cx18/cx18-gpio.c            |    2 +-
 linux/drivers/media/video/cx18/cx18-ioctl.c           |    2 +-
 linux/drivers/media/video/cx231xx/cx231xx-video.c     |    2 +-
 linux/drivers/media/video/cx23885/cx23885-417.c       |    2 +-
 linux/drivers/media/video/cx23885/cx23885-video.c     |    2 +-
 linux/drivers/media/video/cx25840/cx25840-core.c      |    2 +-
 linux/drivers/media/video/cx88/cx88-core.c            |    2 +-
 linux/drivers/media/video/em28xx/em28xx-video.c       |    2 +-
 linux/drivers/media/video/ivtv/ivtv-fileops.c         |    2 +-
 linux/drivers/media/video/ivtv/ivtv-gpio.c            |    2 +-
 linux/drivers/media/video/ivtv/ivtv-ioctl.c           |    2 +-
 linux/drivers/media/video/ks0127.c                    |    4 ----
 linux/drivers/media/video/msp3400-driver.c            |    2 +-
 linux/drivers/media/video/mxb.c                       |    8 ++++----
 linux/drivers/media/video/pvrusb2/pvrusb2-hdw.c       |    2 +-
 linux/drivers/media/video/saa7110.c                   |    4 ----
 linux/drivers/media/video/saa7115.c                   |    2 +-
 linux/drivers/media/video/saa7134/saa6752hs.c         |    4 ----
 linux/drivers/media/video/saa7134/saa7134-video.c     |    4 ++--
 linux/drivers/media/video/saa717x.c                   |    2 +-
 linux/drivers/media/video/saa7191.c                   |    4 ----
 linux/drivers/media/video/tuner-core.c                |    2 +-
 linux/drivers/media/video/tvaudio.c                   |    2 +-
 linux/drivers/media/video/tvp5150.c                   |    2 +-
 linux/drivers/media/video/usbvision/usbvision-video.c |    2 +-
 linux/drivers/media/video/vino.c                      |    6 +++---
 linux/drivers/media/video/vp27smpx.c                  |    2 +-
 linux/drivers/media/video/vpx3220.c                   |    4 ----
 linux/drivers/media/video/zoran/zoran_device.c        |    2 +-
 linux/drivers/media/video/zoran/zoran_driver.c        |    6 +++---
 linux/include/media/v4l2-subdev.h                     |    2 +-
 36 files changed, 38 insertions(+), 62 deletions(-)

diff -r 09637b2393cd -r 210500b96c30 
linux/drivers/media/video/au0828/au0828-video.c
--- a/linux/drivers/media/video/au0828/au0828-video.c   Mon Mar 30 00:20:26 
2009 +0200
+++ b/linux/drivers/media/video/au0828/au0828-video.c   Wed Apr 01 08:52:39 
2009 +0200
@@ -1106,7 +1106,7 @@ static int vidioc_s_std(struct file *fil
           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 -r 09637b2393cd -r 210500b96c30 linux/drivers/media/video/bt819.c
--- a/linux/drivers/media/video/bt819.c Mon Mar 30 00:20:26 2009 +0200
+++ b/linux/drivers/media/video/bt819.c Wed Apr 01 08:52:39 2009 +0200
@@ -450,9 +450,6 @@ static const struct v4l2_subdev_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_op
 
 static const struct v4l2_subdev_ops bt819_ops = {
        .core = &bt819_core_ops,
-       .tuner = &bt819_tuner_ops,
        .video = &bt819_video_ops,
 };
 
diff -r 09637b2393cd -r 210500b96c30 
linux/drivers/media/video/bt8xx/bttv-driver.c
--- a/linux/drivers/media/video/bt8xx/bttv-driver.c     Mon Mar 30 00:20:26 
2009 +0200
+++ b/linux/drivers/media/video/bt8xx/bttv-driver.c     Wed Apr 01 08:52:39 
2009 +0200
@@ -1357,7 +1357,7 @@ set_tvnorm(struct bttv *btv, unsigned in
 #endif
        }
        id = tvnorm->v4l2_id;
-       bttv_call_all(btv, tuner, s_std, id);
+       bttv_call_all(btv, core, s_std, id);
 
        return 0;
 }
diff -r 09637b2393cd -r 210500b96c30 
linux/drivers/media/video/cx18/cx18-av-core.c
--- a/linux/drivers/media/video/cx18/cx18-av-core.c     Mon Mar 30 00:20:26 
2009 +0200
+++ b/linux/drivers/media/video/cx18/cx18-av-core.c     Wed Apr 01 08:52:39 
2009 +0200
@@ -1189,6 +1189,7 @@ static const struct v4l2_subdev_core_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_op
        .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 -r 09637b2393cd -r 210500b96c30 
linux/drivers/media/video/cx18/cx18-fileops.c
--- a/linux/drivers/media/video/cx18/cx18-fileops.c     Mon Mar 30 00:20:26 
2009 +0200
+++ b/linux/drivers/media/video/cx18/cx18-fileops.c     Wed Apr 01 08:52:39 
2009 +0200
@@ -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 -r 09637b2393cd -r 210500b96c30 linux/drivers/media/video/cx18/cx18-gpio.c
--- a/linux/drivers/media/video/cx18/cx18-gpio.c        Mon Mar 30 00:20:26 
2009 +0200
+++ b/linux/drivers/media/video/cx18/cx18-gpio.c        Wed Apr 01 08:52:39 
2009 +0200
@@ -180,10 +180,10 @@ static int gpiomux_s_audio_routing(struc
 
 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 -r 09637b2393cd -r 210500b96c30 linux/drivers/media/video/cx18/cx18-ioctl.c
--- a/linux/drivers/media/video/cx18/cx18-ioctl.c       Mon Mar 30 00:20:26 
2009 +0200
+++ b/linux/drivers/media/video/cx18/cx18-ioctl.c       Wed Apr 01 08:52:39 
2009 +0200
@@ -713,7 +713,7 @@ int cx18_s_std(struct file *file, void *
                        (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 -r 09637b2393cd -r 210500b96c30 
linux/drivers/media/video/cx231xx/cx231xx-video.c
--- a/linux/drivers/media/video/cx231xx/cx231xx-video.c Mon Mar 30 00:20:26 
2009 +0200
+++ b/linux/drivers/media/video/cx231xx/cx231xx-video.c Wed Apr 01 08:52:39 
2009 +0200
@@ -1089,7 +1089,7 @@ static int vidioc_s_std(struct file *fil
        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 -r 09637b2393cd -r 210500b96c30 
linux/drivers/media/video/cx23885/cx23885-417.c
--- a/linux/drivers/media/video/cx23885/cx23885-417.c   Mon Mar 30 00:20:26 
2009 +0200
+++ b/linux/drivers/media/video/cx23885/cx23885-417.c   Wed Apr 01 08:52:39 
2009 +0200
@@ -1194,7 +1194,7 @@ static int vidioc_s_std(struct file *fil
         * 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 -r 09637b2393cd -r 210500b96c30 
linux/drivers/media/video/cx23885/cx23885-video.c
--- a/linux/drivers/media/video/cx23885/cx23885-video.c Mon Mar 30 00:20:26 
2009 +0200
+++ b/linux/drivers/media/video/cx23885/cx23885-video.c Wed Apr 01 08:52:39 
2009 +0200
@@ -334,7 +334,7 @@ static int cx23885_set_tvnorm(struct cx2
 
        dev->tvnorm = norm;
 
-       call_all(dev, tuner, s_std, norm);
+       call_all(dev, core, s_std, norm);
 
        return 0;
 }
diff -r 09637b2393cd -r 210500b96c30 
linux/drivers/media/video/cx25840/cx25840-core.c
--- a/linux/drivers/media/video/cx25840/cx25840-core.c  Mon Mar 30 00:20:26 
2009 +0200
+++ b/linux/drivers/media/video/cx25840/cx25840-core.c  Wed Apr 01 08:52:39 
2009 +0200
@@ -1504,6 +1504,7 @@ static const struct v4l2_subdev_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
 
 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 -r 09637b2393cd -r 210500b96c30 linux/drivers/media/video/cx88/cx88-core.c
--- a/linux/drivers/media/video/cx88/cx88-core.c        Mon Mar 30 00:20:26 
2009 +0200
+++ b/linux/drivers/media/video/cx88/cx88-core.c        Wed Apr 01 08:52:39 
2009 +0200
@@ -1020,7 +1020,7 @@ int cx88_set_tvnorm(struct cx88_core *co
        set_tvaudio(core);
 
        // tell i2c chips
-       call_all(core, tuner, s_std, norm);
+       call_all(core, core, s_std, norm);
 
        // done
        return 0;
diff -r 09637b2393cd -r 210500b96c30 
linux/drivers/media/video/em28xx/em28xx-video.c
--- a/linux/drivers/media/video/em28xx/em28xx-video.c   Mon Mar 30 00:20:26 
2009 +0200
+++ b/linux/drivers/media/video/em28xx/em28xx-video.c   Wed Apr 01 08:52:39 
2009 +0200
@@ -833,7 +833,7 @@ static int vidioc_s_std(struct file *fil
        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 -r 09637b2393cd -r 210500b96c30 
linux/drivers/media/video/ivtv/ivtv-fileops.c
--- a/linux/drivers/media/video/ivtv/ivtv-fileops.c     Mon Mar 30 00:20:26 
2009 +0200
+++ b/linux/drivers/media/video/ivtv/ivtv-fileops.c     Wed Apr 01 08:52:39 
2009 +0200
@@ -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 -r 09637b2393cd -r 210500b96c30 linux/drivers/media/video/ivtv/ivtv-gpio.c
--- a/linux/drivers/media/video/ivtv/ivtv-gpio.c        Mon Mar 30 00:20:26 
2009 +0200
+++ b/linux/drivers/media/video/ivtv/ivtv-gpio.c        Wed Apr 01 08:52:39 
2009 +0200
@@ -342,10 +342,10 @@ static const struct v4l2_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 -r 09637b2393cd -r 210500b96c30 linux/drivers/media/video/ivtv/ivtv-ioctl.c
--- a/linux/drivers/media/video/ivtv/ivtv-ioctl.c       Mon Mar 30 00:20:26 
2009 +0200
+++ b/linux/drivers/media/video/ivtv/ivtv-ioctl.c       Wed Apr 01 08:52:39 
2009 +0200
@@ -1121,7 +1121,7 @@ int ivtv_s_std(struct file *file, void *
        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 -r 09637b2393cd -r 210500b96c30 linux/drivers/media/video/ks0127.c
--- a/linux/drivers/media/video/ks0127.c        Mon Mar 30 00:20:26 2009 +0200
+++ b/linux/drivers/media/video/ks0127.c        Wed Apr 01 08:52:39 2009 +0200
@@ -658,9 +658,6 @@ static int ks0127_g_chip_ident(struct v4
 
 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_op
 
 static const struct v4l2_subdev_ops ks0127_ops = {
        .core = &ks0127_core_ops,
-       .tuner = &ks0127_tuner_ops,
        .video = &ks0127_video_ops,
 };
 
diff -r 09637b2393cd -r 210500b96c30 linux/drivers/media/video/msp3400-driver.c
--- a/linux/drivers/media/video/msp3400-driver.c        Mon Mar 30 00:20:26 
2009 +0200
+++ b/linux/drivers/media/video/msp3400-driver.c        Wed Apr 01 08:52:39 
2009 +0200
@@ -711,6 +711,7 @@ static const struct v4l2_subdev_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_op
        .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 -r 09637b2393cd -r 210500b96c30 linux/drivers/media/video/mxb.c
--- a/linux/drivers/media/video/mxb.c   Mon Mar 30 00:20:26 2009 +0200
+++ b/linux/drivers/media/video/mxb.c   Wed Apr 01 08:52:39 2009 +0200
@@ -270,7 +270,7 @@ static int mxb_init_done(struct saa7146_
        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_
        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_d
                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_d
                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 -r 09637b2393cd -r 210500b96c30 
linux/drivers/media/video/pvrusb2/pvrusb2-hdw.c
--- a/linux/drivers/media/video/pvrusb2/pvrusb2-hdw.c   Mon Mar 30 00:20:26 
2009 +0200
+++ b/linux/drivers/media/video/pvrusb2/pvrusb2-hdw.c   Wed Apr 01 08:52:39 
2009 +0200
@@ -2965,7 +2965,7 @@ static void pvr2_subdev_update(struct pv
                        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 -r 09637b2393cd -r 210500b96c30 linux/drivers/media/video/saa7110.c
--- a/linux/drivers/media/video/saa7110.c       Mon Mar 30 00:20:26 2009 +0200
+++ b/linux/drivers/media/video/saa7110.c       Wed Apr 01 08:52:39 2009 +0200
@@ -420,9 +420,6 @@ static const struct v4l2_subdev_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_op
 
 static const struct v4l2_subdev_ops saa7110_ops = {
        .core = &saa7110_core_ops,
-       .tuner = &saa7110_tuner_ops,
        .video = &saa7110_video_ops,
 };
 
diff -r 09637b2393cd -r 210500b96c30 linux/drivers/media/video/saa7115.c
--- a/linux/drivers/media/video/saa7115.c       Mon Mar 30 00:20:26 2009 +0200
+++ b/linux/drivers/media/video/saa7115.c       Wed Apr 01 08:52:39 2009 +0200
@@ -1509,6 +1509,7 @@ static const struct v4l2_subdev_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
 };
 
 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 -r 09637b2393cd -r 210500b96c30 
linux/drivers/media/video/saa7134/saa6752hs.c
--- a/linux/drivers/media/video/saa7134/saa6752hs.c     Mon Mar 30 00:20:26 
2009 +0200
+++ b/linux/drivers/media/video/saa7134/saa6752hs.c     Wed Apr 01 08:52:39 
2009 +0200
@@ -935,9 +935,6 @@ static const struct v4l2_subdev_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_op
 
 static const struct v4l2_subdev_ops saa6752hs_ops = {
        .core = &saa6752hs_core_ops,
-       .tuner = &saa6752hs_tuner_ops,
        .video = &saa6752hs_video_ops,
 };
 
diff -r 09637b2393cd -r 210500b96c30 
linux/drivers/media/video/saa7134/saa7134-video.c
--- a/linux/drivers/media/video/saa7134/saa7134-video.c Mon Mar 30 00:20:26 
2009 +0200
+++ b/linux/drivers/media/video/saa7134/saa7134-video.c Wed Apr 01 08:52:39 
2009 +0200
@@ -625,10 +625,10 @@ void saa7134_set_tvnorm_hw(struct saa713
        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 -r 09637b2393cd -r 210500b96c30 linux/drivers/media/video/saa717x.c
--- a/linux/drivers/media/video/saa717x.c       Mon Mar 30 00:20:26 2009 +0200
+++ b/linux/drivers/media/video/saa717x.c       Wed Apr 01 08:52:39 2009 +0200
@@ -1396,12 +1396,12 @@ static const struct v4l2_subdev_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 -r 09637b2393cd -r 210500b96c30 linux/drivers/media/video/saa7191.c
--- a/linux/drivers/media/video/saa7191.c       Mon Mar 30 00:20:26 2009 +0200
+++ b/linux/drivers/media/video/saa7191.c       Wed Apr 01 08:52:39 2009 +0200
@@ -588,9 +588,6 @@ static const struct v4l2_subdev_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_ops saa7
 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 -r 09637b2393cd -r 210500b96c30 linux/drivers/media/video/tuner-core.c
--- a/linux/drivers/media/video/tuner-core.c    Mon Mar 30 00:20:26 2009 +0200
+++ b/linux/drivers/media/video/tuner-core.c    Wed Apr 01 08:52:39 2009 +0200
@@ -1005,10 +1005,10 @@ static int tuner_command(struct i2c_clie
 
 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 -r 09637b2393cd -r 210500b96c30 linux/drivers/media/video/tvaudio.c
--- a/linux/drivers/media/video/tvaudio.c       Mon Mar 30 00:20:26 2009 +0200
+++ b/linux/drivers/media/video/tvaudio.c       Wed Apr 01 08:52:39 2009 +0200
@@ -1935,12 +1935,12 @@ static const struct v4l2_subdev_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 -r 09637b2393cd -r 210500b96c30 linux/drivers/media/video/tvp5150.c
--- a/linux/drivers/media/video/tvp5150.c       Mon Mar 30 00:20:26 2009 +0200
+++ b/linux/drivers/media/video/tvp5150.c       Wed Apr 01 08:52:39 2009 +0200
@@ -1102,6 +1102,7 @@ static const struct v4l2_subdev_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
 };
 
 static const struct v4l2_subdev_tuner_ops tvp5150_tuner_ops = {
-       .s_std = tvp5150_s_std,
        .g_tuner = tvp5150_g_tuner,
 };
 
diff -r 09637b2393cd -r 210500b96c30 
linux/drivers/media/video/usbvision/usbvision-video.c
--- a/linux/drivers/media/video/usbvision/usbvision-video.c     Mon Mar 30 
00:20:26 2009 +0200
+++ b/linux/drivers/media/video/usbvision/usbvision-video.c     Wed Apr 01 
08:52:39 2009 +0200
@@ -621,7 +621,7 @@ static int vidioc_s_std (struct file *fi
        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 -r 09637b2393cd -r 210500b96c30 linux/drivers/media/video/vino.c
--- a/linux/drivers/media/video/vino.c  Mon Mar 30 00:20:26 2009 +0200
+++ b/linux/drivers/media/video/vino.c  Wed Apr 01 08:52:39 2009 +0200
@@ -2593,7 +2593,7 @@ static int vino_acquire_input(struct vin
                        }
                        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_ch
                                }
                                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 vin
                 * 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 -r 09637b2393cd -r 210500b96c30 linux/drivers/media/video/vp27smpx.c
--- a/linux/drivers/media/video/vp27smpx.c      Mon Mar 30 00:20:26 2009 +0200
+++ b/linux/drivers/media/video/vp27smpx.c      Wed Apr 01 08:52:39 2009 +0200
@@ -140,11 +140,11 @@ static const struct v4l2_subdev_core_ops
 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 -r 09637b2393cd -r 210500b96c30 linux/drivers/media/video/vpx3220.c
--- a/linux/drivers/media/video/vpx3220.c       Mon Mar 30 00:20:26 2009 +0200
+++ b/linux/drivers/media/video/vpx3220.c       Wed Apr 01 08:52:39 2009 +0200
@@ -536,9 +536,6 @@ static const struct v4l2_subdev_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_op
 
 static const struct v4l2_subdev_ops vpx3220_ops = {
        .core = &vpx3220_core_ops,
-       .tuner = &vpx3220_tuner_ops,
        .video = &vpx3220_video_ops,
 };
 
diff -r 09637b2393cd -r 210500b96c30 
linux/drivers/media/video/zoran/zoran_device.c
--- a/linux/drivers/media/video/zoran/zoran_device.c    Mon Mar 30 00:20:26 
2009 +0200
+++ b/linux/drivers/media/video/zoran/zoran_device.c    Wed Apr 01 08:52:39 
2009 +0200
@@ -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 -r 09637b2393cd -r 210500b96c30 
linux/drivers/media/video/zoran/zoran_driver.c
--- a/linux/drivers/media/video/zoran/zoran_driver.c    Mon Mar 30 00:20:26 
2009 +0200
+++ b/linux/drivers/media/video/zoran/zoran_driver.c    Wed Apr 01 08:52:39 
2009 +0200
@@ -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 -r 09637b2393cd -r 210500b96c30 linux/include/media/v4l2-subdev.h
--- a/linux/include/media/v4l2-subdev.h Mon Mar 30 00:20:26 2009 +0200
+++ b/linux/include/media/v4l2-subdev.h Wed Apr 01 08:52:39 2009 +0200
@@ -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);


---

Patch is available at: 
http://linuxtv.org/hg/v4l-dvb/rev/210500b96c30b6a721f8a9226d18ff12e93a924a

_______________________________________________
linuxtv-commits mailing list
linuxtv-commits@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to