[media] v4l: subdev: Move [gs]_std operation to video ops
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Mon, 28 Apr 2014 19:53:01 +0000 (16:53 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Sat, 24 May 2014 20:11:26 +0000 (17:11 -0300)
The g_std and s_std operations are video-related, move them to the video
ops where they belong.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
60 files changed:
drivers/media/i2c/adv7180.c
drivers/media/i2c/adv7183.c
drivers/media/i2c/adv7842.c
drivers/media/i2c/bt819.c
drivers/media/i2c/cx25840/cx25840-core.c
drivers/media/i2c/ks0127.c
drivers/media/i2c/ml86v7667.c
drivers/media/i2c/msp3400-driver.c
drivers/media/i2c/saa6752hs.c
drivers/media/i2c/saa7110.c
drivers/media/i2c/saa7115.c
drivers/media/i2c/saa717x.c
drivers/media/i2c/saa7191.c
drivers/media/i2c/soc_camera/tw9910.c
drivers/media/i2c/sony-btf-mpx.c
drivers/media/i2c/tvaudio.c
drivers/media/i2c/tvp514x.c
drivers/media/i2c/tvp5150.c
drivers/media/i2c/tw2804.c
drivers/media/i2c/tw9903.c
drivers/media/i2c/tw9906.c
drivers/media/i2c/vp27smpx.c
drivers/media/i2c/vpx3220.c
drivers/media/pci/bt8xx/bttv-driver.c
drivers/media/pci/cx18/cx18-av-core.c
drivers/media/pci/cx18/cx18-fileops.c
drivers/media/pci/cx18/cx18-gpio.c
drivers/media/pci/cx18/cx18-ioctl.c
drivers/media/pci/cx23885/cx23885-video.c
drivers/media/pci/cx88/cx88-core.c
drivers/media/pci/ivtv/ivtv-fileops.c
drivers/media/pci/ivtv/ivtv-ioctl.c
drivers/media/pci/saa7134/saa7134-video.c
drivers/media/pci/saa7146/mxb.c
drivers/media/pci/sta2x11/sta2x11_vip.c
drivers/media/pci/zoran/zoran_device.c
drivers/media/pci/zoran/zoran_driver.c
drivers/media/platform/blackfin/bfin_capture.c
drivers/media/platform/davinci/vpfe_capture.c
drivers/media/platform/davinci/vpif_capture.c
drivers/media/platform/davinci/vpif_display.c
drivers/media/platform/fsl-viu.c
drivers/media/platform/soc_camera/soc_camera.c
drivers/media/platform/timblogiw.c
drivers/media/platform/vino.c
drivers/media/usb/au0828/au0828-video.c
drivers/media/usb/cx231xx/cx231xx-417.c
drivers/media/usb/cx231xx/cx231xx-video.c
drivers/media/usb/em28xx/em28xx-video.c
drivers/media/usb/pvrusb2/pvrusb2-hdw.c
drivers/media/usb/stk1160/stk1160-v4l.c
drivers/media/usb/tm6000/tm6000-cards.c
drivers/media/usb/tm6000/tm6000-video.c
drivers/media/usb/usbvision/usbvision-video.c
drivers/media/v4l2-core/tuner-core.c
drivers/staging/media/davinci_vpfe/vpfe_video.c
drivers/staging/media/go7007/go7007-v4l2.c
drivers/staging/media/go7007/s2250-board.c
drivers/staging/media/go7007/saa7134-go7007.c
include/media/v4l2-subdev.h

index 5e638b1594529242ea20128253bbe37d99586d2f..ac1cdbe251a330bd943fe6b0b07ebb57f830db36 100644 (file)
@@ -461,6 +461,7 @@ static int adv7180_g_mbus_config(struct v4l2_subdev *sd,
 }
 
 static const struct v4l2_subdev_video_ops adv7180_video_ops = {
+       .s_std = adv7180_s_std,
        .querystd = adv7180_querystd,
        .g_input_status = adv7180_g_input_status,
        .s_routing = adv7180_s_routing,
@@ -472,7 +473,6 @@ static const struct v4l2_subdev_video_ops adv7180_video_ops = {
 };
 
 static const struct v4l2_subdev_core_ops adv7180_core_ops = {
-       .s_std = adv7180_s_std,
        .s_power = adv7180_s_power,
 };
 
index d45e0e3a781de88a72425379a1390109aa795968..df461b07b2f7340c1fc1acf636ce4ebe5c53c9a9 100644 (file)
@@ -501,8 +501,6 @@ static const struct v4l2_ctrl_ops adv7183_ctrl_ops = {
 
 static const struct v4l2_subdev_core_ops adv7183_core_ops = {
        .log_status = adv7183_log_status,
-       .g_std = adv7183_g_std,
-       .s_std = adv7183_s_std,
        .reset = adv7183_reset,
 #ifdef CONFIG_VIDEO_ADV_DEBUG
        .g_register = adv7183_g_register,
@@ -511,6 +509,8 @@ static const struct v4l2_subdev_core_ops adv7183_core_ops = {
 };
 
 static const struct v4l2_subdev_video_ops adv7183_video_ops = {
+       .g_std = adv7183_g_std,
+       .s_std = adv7183_s_std,
        .s_routing = adv7183_s_routing,
        .querystd = adv7183_querystd,
        .g_input_status = adv7183_g_input_status,
index 06c25c3fa3a95cc36dcf75de2b4e63d7deaccc03..6a4d389c749ccf2e14c77f566062d7c94172e158 100644 (file)
@@ -2873,8 +2873,6 @@ static const struct v4l2_ctrl_ops adv7842_ctrl_ops = {
 
 static const struct v4l2_subdev_core_ops adv7842_core_ops = {
        .log_status = adv7842_log_status,
-       .g_std = adv7842_g_std,
-       .s_std = adv7842_s_std,
        .ioctl = adv7842_ioctl,
        .interrupt_service_routine = adv7842_isr,
 #ifdef CONFIG_VIDEO_ADV_DEBUG
@@ -2884,6 +2882,8 @@ static const struct v4l2_subdev_core_ops adv7842_core_ops = {
 };
 
 static const struct v4l2_subdev_video_ops adv7842_video_ops = {
+       .g_std = adv7842_g_std,
+       .s_std = adv7842_s_std,
        .s_routing = adv7842_s_routing,
        .querystd = adv7842_querystd,
        .g_input_status = adv7842_g_input_status,
index 369cf6ff88f761104263b5e20cc1422f9a25da27..76b334a6a56d882a37088b33474504eb2f1d1211 100644 (file)
@@ -387,10 +387,10 @@ static const struct v4l2_subdev_core_ops bt819_core_ops = {
        .s_ctrl = v4l2_subdev_s_ctrl,
        .queryctrl = v4l2_subdev_queryctrl,
        .querymenu = v4l2_subdev_querymenu,
-       .s_std = bt819_s_std,
 };
 
 static const struct v4l2_subdev_video_ops bt819_video_ops = {
+       .s_std = bt819_s_std,
        .s_routing = bt819_s_routing,
        .s_stream = bt819_s_stream,
        .querystd = bt819_querystd,
index 2e3771d5735402cd58bdb79cc62b450ba95b27c6..e453a3ffe7d1b638ed3c5bf776dbe35eaa7304de 100644 (file)
@@ -5041,8 +5041,6 @@ static const struct v4l2_subdev_core_ops cx25840_core_ops = {
        .g_ext_ctrls = v4l2_subdev_g_ext_ctrls,
        .queryctrl = v4l2_subdev_queryctrl,
        .querymenu = v4l2_subdev_querymenu,
-       .s_std = cx25840_s_std,
-       .g_std = cx25840_g_std,
        .reset = cx25840_reset,
        .load_fw = cx25840_load_fw,
        .s_io_pin_config = common_s_io_pin_config,
@@ -5067,6 +5065,8 @@ static const struct v4l2_subdev_audio_ops cx25840_audio_ops = {
 };
 
 static const struct v4l2_subdev_video_ops cx25840_video_ops = {
+       .s_std = cx25840_s_std,
+       .g_std = cx25840_g_std,
        .s_routing = cx25840_s_video_routing,
        .s_mbus_fmt = cx25840_s_mbus_fmt,
        .s_stream = cx25840_s_stream,
index c3e94ae82c03028ff48e9eec1719938b8849e8e0..25b81bc58c81d30b613306752901a97c08c15d87 100644 (file)
@@ -648,11 +648,8 @@ static int ks0127_g_input_status(struct v4l2_subdev *sd, u32 *status)
 
 /* ----------------------------------------------------------------------- */
 
-static const struct v4l2_subdev_core_ops ks0127_core_ops = {
-       .s_std = ks0127_s_std,
-};
-
 static const struct v4l2_subdev_video_ops ks0127_video_ops = {
+       .s_std = ks0127_s_std,
        .s_routing = ks0127_s_routing,
        .s_stream = ks0127_s_stream,
        .querystd = ks0127_querystd,
@@ -660,7 +657,6 @@ static const struct v4l2_subdev_video_ops ks0127_video_ops = {
 };
 
 static const struct v4l2_subdev_ops ks0127_ops = {
-       .core = &ks0127_core_ops,
        .video = &ks0127_video_ops,
 };
 
index a9110d8bbbcd684e691ac63199d6fbb6c1902b95..2cace7313a22aa76555a7b7499dae6c83d1b7f9d 100644 (file)
@@ -276,6 +276,7 @@ static const struct v4l2_ctrl_ops ml86v7667_ctrl_ops = {
 };
 
 static struct v4l2_subdev_video_ops ml86v7667_subdev_video_ops = {
+       .s_std = ml86v7667_s_std,
        .querystd = ml86v7667_querystd,
        .g_input_status = ml86v7667_g_input_status,
        .enum_mbus_fmt = ml86v7667_enum_mbus_fmt,
@@ -286,7 +287,6 @@ static struct v4l2_subdev_video_ops ml86v7667_subdev_video_ops = {
 };
 
 static struct v4l2_subdev_core_ops ml86v7667_subdev_core_ops = {
-       .s_std = ml86v7667_s_std,
 #ifdef CONFIG_VIDEO_ADV_DEBUG
        .g_register = ml86v7667_g_register,
        .s_register = ml86v7667_s_register,
index 8190fec6808075049ca2e1f94d47ba3613f40602..4d9c6bc342655751e38b654e736811b6e5735ace 100644 (file)
@@ -649,10 +649,10 @@ static const struct v4l2_subdev_core_ops msp_core_ops = {
        .s_ctrl = v4l2_subdev_s_ctrl,
        .queryctrl = v4l2_subdev_queryctrl,
        .querymenu = v4l2_subdev_querymenu,
-       .s_std = msp_s_std,
 };
 
 static const struct v4l2_subdev_video_ops msp_video_ops = {
+       .s_std = msp_s_std,
        .querystd = msp_querystd,
 };
 
index 8272c0b9c5bf6e103294053316ed16fb0c87c317..04e9e55018a5044ff194f4d72f3bc01314ff75c4 100644 (file)
@@ -643,10 +643,10 @@ static const struct v4l2_ctrl_ops saa6752hs_ctrl_ops = {
 
 static const struct v4l2_subdev_core_ops saa6752hs_core_ops = {
        .init = saa6752hs_init,
-       .s_std = saa6752hs_s_std,
 };
 
 static const struct v4l2_subdev_video_ops saa6752hs_video_ops = {
+       .s_std = saa6752hs_s_std,
        .s_mbus_fmt = saa6752hs_s_mbus_fmt,
        .try_mbus_fmt = saa6752hs_try_mbus_fmt,
        .g_mbus_fmt = saa6752hs_g_mbus_fmt,
index ac43e929a1d6eabbc2333676e088c133fea2107a..99689ee57d7e1de8b96acdfea1fa8ef1205a8d2f 100644 (file)
@@ -365,10 +365,10 @@ static const struct v4l2_subdev_core_ops saa7110_core_ops = {
        .s_ctrl = v4l2_subdev_s_ctrl,
        .queryctrl = v4l2_subdev_queryctrl,
        .querymenu = v4l2_subdev_querymenu,
-       .s_std = saa7110_s_std,
 };
 
 static const struct v4l2_subdev_video_ops saa7110_video_ops = {
+       .s_std = saa7110_s_std,
        .s_routing = saa7110_s_routing,
        .s_stream = saa7110_s_stream,
        .querystd = saa7110_querystd,
index afdbcb045ceece64685db171dac9699d8a7dfc49..35a44648150e523c64f72d145785a256babd6fa3 100644 (file)
@@ -1582,7 +1582,6 @@ static const struct v4l2_subdev_core_ops saa711x_core_ops = {
        .s_ctrl = v4l2_subdev_s_ctrl,
        .queryctrl = v4l2_subdev_queryctrl,
        .querymenu = v4l2_subdev_querymenu,
-       .s_std = saa711x_s_std,
        .reset = saa711x_reset,
        .s_gpio = saa711x_s_gpio,
 #ifdef CONFIG_VIDEO_ADV_DEBUG
@@ -1601,6 +1600,7 @@ static const struct v4l2_subdev_audio_ops saa711x_audio_ops = {
 };
 
 static const struct v4l2_subdev_video_ops saa711x_video_ops = {
+       .s_std = saa711x_s_std,
        .s_routing = saa711x_s_routing,
        .s_crystal_freq = saa711x_s_crystal_freq,
        .s_mbus_fmt = saa711x_s_mbus_fmt,
index 401ca114ab99cbf43a4145b1b4c2d3fdd768b932..6922a9f9a5cdd2e8408184b003e29237db3929b7 100644 (file)
@@ -1198,7 +1198,6 @@ static const struct v4l2_subdev_core_ops saa717x_core_ops = {
        .g_register = saa717x_g_register,
        .s_register = saa717x_s_register,
 #endif
-       .s_std = saa717x_s_std,
        .g_ext_ctrls = v4l2_subdev_g_ext_ctrls,
        .try_ext_ctrls = v4l2_subdev_try_ext_ctrls,
        .s_ext_ctrls = v4l2_subdev_s_ext_ctrls,
@@ -1216,6 +1215,7 @@ static const struct v4l2_subdev_tuner_ops saa717x_tuner_ops = {
 };
 
 static const struct v4l2_subdev_video_ops saa717x_video_ops = {
+       .s_std = saa717x_s_std,
        .s_routing = saa717x_s_video_routing,
        .s_mbus_fmt = saa717x_s_mbus_fmt,
        .s_stream = saa717x_s_stream,
index 606a4baf944d9668ee9c1337808369f7b700e0eb..8e9699268a631e7903bd42a06097efcf43bb317b 100644 (file)
@@ -573,10 +573,10 @@ static int saa7191_g_input_status(struct v4l2_subdev *sd, u32 *status)
 static const struct v4l2_subdev_core_ops saa7191_core_ops = {
        .g_ctrl = saa7191_g_ctrl,
        .s_ctrl = saa7191_s_ctrl,
-       .s_std = saa7191_s_std,
 };
 
 static const struct v4l2_subdev_video_ops saa7191_video_ops = {
+       .s_std = saa7191_s_std,
        .s_routing = saa7191_s_routing,
        .querystd = saa7191_querystd,
        .g_input_status = saa7191_g_input_status,
index 02a51ff57e5d503680bd8fa0bc9eeba60a4361f5..416402eb4f822e696121fc971de759668fa5807e 100644 (file)
@@ -814,8 +814,6 @@ done:
 }
 
 static struct v4l2_subdev_core_ops tw9910_subdev_core_ops = {
-       .s_std          = tw9910_s_std,
-       .g_std          = tw9910_g_std,
 #ifdef CONFIG_VIDEO_ADV_DEBUG
        .g_register     = tw9910_g_register,
        .s_register     = tw9910_s_register,
@@ -879,6 +877,8 @@ static int tw9910_g_tvnorms(struct v4l2_subdev *sd, v4l2_std_id *norm)
 }
 
 static struct v4l2_subdev_video_ops tw9910_subdev_video_ops = {
+       .s_std          = tw9910_s_std,
+       .g_std          = tw9910_g_std,
        .s_stream       = tw9910_s_stream,
        .g_mbus_fmt     = tw9910_g_fmt,
        .s_mbus_fmt     = tw9910_s_fmt,
index 32d82320b4854658702bd662820ea3aaa82b22e8..1da8004f5a8ef82e76038aef5855bce921b01d04 100644 (file)
@@ -327,18 +327,18 @@ static int sony_btf_mpx_s_tuner(struct v4l2_subdev *sd, const struct v4l2_tuner
 
 /* --------------------------------------------------------------------------*/
 
-static const struct v4l2_subdev_core_ops sony_btf_mpx_core_ops = {
-       .s_std = sony_btf_mpx_s_std,
-};
-
 static const struct v4l2_subdev_tuner_ops sony_btf_mpx_tuner_ops = {
        .s_tuner = sony_btf_mpx_s_tuner,
        .g_tuner = sony_btf_mpx_g_tuner,
 };
 
+static const struct v4l2_subdev_video_ops sony_btf_mpx_video_ops = {
+       .s_std = sony_btf_mpx_s_std,
+};
+
 static const struct v4l2_subdev_ops sony_btf_mpx_ops = {
-       .core = &sony_btf_mpx_core_ops,
        .tuner = &sony_btf_mpx_tuner_ops,
+       .video = &sony_btf_mpx_video_ops,
 };
 
 /* --------------------------------------------------------------------------*/
index d76c53a8f027b851e640af633b54dd04474536e0..070c152da95aa0dd30c2e63e103ab8eac01194a7 100644 (file)
@@ -1862,7 +1862,6 @@ static const struct v4l2_subdev_core_ops tvaudio_core_ops = {
        .s_ctrl = v4l2_subdev_s_ctrl,
        .queryctrl = v4l2_subdev_queryctrl,
        .querymenu = v4l2_subdev_querymenu,
-       .s_std = tvaudio_s_std,
 };
 
 static const struct v4l2_subdev_tuner_ops tvaudio_tuner_ops = {
@@ -1876,10 +1875,15 @@ static const struct v4l2_subdev_audio_ops tvaudio_audio_ops = {
        .s_routing = tvaudio_s_routing,
 };
 
+static const struct v4l2_subdev_video_ops tvaudio_video_ops = {
+       .s_std = tvaudio_s_std,
+};
+
 static const struct v4l2_subdev_ops tvaudio_ops = {
        .core = &tvaudio_core_ops,
        .tuner = &tvaudio_tuner_ops,
        .audio = &tvaudio_audio_ops,
+       .video = &tvaudio_video_ops,
 };
 
 /* ----------------------------------------------------------------------- */
index ca001178c5bf73aae2c7bd2baff57b0a2e771da9..b9dabc9f4050956c6cd379b2a10e044013958a10 100644 (file)
@@ -1010,10 +1010,10 @@ static const struct v4l2_subdev_core_ops tvp514x_core_ops = {
        .s_ctrl = v4l2_subdev_s_ctrl,
        .queryctrl = v4l2_subdev_queryctrl,
        .querymenu = v4l2_subdev_querymenu,
-       .s_std = tvp514x_s_std,
 };
 
 static const struct v4l2_subdev_video_ops tvp514x_video_ops = {
+       .s_std = tvp514x_s_std,
        .s_routing = tvp514x_s_routing,
        .querystd = tvp514x_querystd,
        .enum_mbus_fmt = tvp514x_enum_mbus_fmt,
index 07dee4439c2fed803bc6dc1ae6ed9f81d2ce6ed7..a9121254e37a35792a36be6e5f4ff9655cd3b576 100644 (file)
@@ -1063,7 +1063,6 @@ static const struct v4l2_ctrl_ops tvp5150_ctrl_ops = {
 
 static const struct v4l2_subdev_core_ops tvp5150_core_ops = {
        .log_status = tvp5150_log_status,
-       .s_std = tvp5150_s_std,
        .reset = tvp5150_reset,
 #ifdef CONFIG_VIDEO_ADV_DEBUG
        .g_register = tvp5150_g_register,
@@ -1076,6 +1075,7 @@ static const struct v4l2_subdev_tuner_ops tvp5150_tuner_ops = {
 };
 
 static const struct v4l2_subdev_video_ops tvp5150_video_ops = {
+       .s_std = tvp5150_s_std,
        .s_routing = tvp5150_s_routing,
        .enum_mbus_fmt = tvp5150_enum_mbus_fmt,
        .s_mbus_fmt = tvp5150_mbus_fmt,
index f58607df61930b7422b2e4ac25a9a5d84fac13b6..7347480c0b0c48788e44e6fad150343ccc6941e7 100644 (file)
@@ -342,12 +342,12 @@ static const struct v4l2_ctrl_ops tw2804_ctrl_ops = {
 };
 
 static const struct v4l2_subdev_video_ops tw2804_video_ops = {
+       .s_std = tw2804_s_std,
        .s_routing = tw2804_s_video_routing,
 };
 
 static const struct v4l2_subdev_core_ops tw2804_core_ops = {
        .log_status = tw2804_log_status,
-       .s_std = tw2804_s_std,
 };
 
 static const struct v4l2_subdev_ops tw2804_ops = {
index 285b759a5f7f11c74a9f24cec7f1f58bd0ef9b60..12c7d211a4a4f389b213b691adce99abd33fbaeb 100644 (file)
@@ -187,10 +187,10 @@ static const struct v4l2_ctrl_ops tw9903_ctrl_ops = {
 
 static const struct v4l2_subdev_core_ops tw9903_core_ops = {
        .log_status = tw9903_log_status,
-       .s_std = tw9903_s_std,
 };
 
 static const struct v4l2_subdev_video_ops tw9903_video_ops = {
+       .s_std = tw9903_s_std,
        .s_routing = tw9903_s_video_routing,
 };
 
index f6bef25bd9ce8dacbc392046c6a04d6af5096422..2672d89265ffc1da8f9d6700ff0bc3c36e298e15 100644 (file)
@@ -157,10 +157,10 @@ static const struct v4l2_ctrl_ops tw9906_ctrl_ops = {
 
 static const struct v4l2_subdev_core_ops tw9906_core_ops = {
        .log_status = tw9906_log_status,
-       .s_std = tw9906_s_std,
 };
 
 static const struct v4l2_subdev_video_ops tw9906_video_ops = {
+       .s_std = tw9906_s_std,
        .s_routing = tw9906_s_video_routing,
 };
 
index 6a3a3ff7ee6a8b5ba68233ee6f042ddd19e6529d..819ab6d129891382dbc073bfe8c973244aecd4cb 100644 (file)
@@ -124,7 +124,6 @@ static int vp27smpx_log_status(struct v4l2_subdev *sd)
 
 static const struct v4l2_subdev_core_ops vp27smpx_core_ops = {
        .log_status = vp27smpx_log_status,
-       .s_std = vp27smpx_s_std,
 };
 
 static const struct v4l2_subdev_tuner_ops vp27smpx_tuner_ops = {
@@ -133,9 +132,14 @@ static const struct v4l2_subdev_tuner_ops vp27smpx_tuner_ops = {
        .g_tuner = vp27smpx_g_tuner,
 };
 
+static const struct v4l2_subdev_video_ops vp27smpx_video_ops = {
+       .s_std = vp27smpx_s_std,
+};
+
 static const struct v4l2_subdev_ops vp27smpx_ops = {
        .core = &vp27smpx_core_ops,
        .tuner = &vp27smpx_tuner_ops,
+       .video = &vp27smpx_video_ops,
 };
 
 /* ----------------------------------------------------------------------- */
index ece90df6a04359255aaa98969a7180263445be5a..016e766e72baa7db7709d2cfab394936a4b39cc1 100644 (file)
@@ -457,10 +457,10 @@ static const struct v4l2_subdev_core_ops vpx3220_core_ops = {
        .s_ctrl = v4l2_subdev_s_ctrl,
        .queryctrl = v4l2_subdev_queryctrl,
        .querymenu = v4l2_subdev_querymenu,
-       .s_std = vpx3220_s_std,
 };
 
 static const struct v4l2_subdev_video_ops vpx3220_video_ops = {
+       .s_std = vpx3220_s_std,
        .s_routing = vpx3220_s_routing,
        .s_stream = vpx3220_s_stream,
        .querystd = vpx3220_querystd,
index afcd53bfcf8ec88264c97fd80c75b373e2512810..da780f42b1219862de792a127379eaa94a4d9857 100644 (file)
@@ -1182,7 +1182,7 @@ set_tvnorm(struct bttv *btv, unsigned int norm)
                break;
        }
        id = tvnorm->v4l2_id;
-       bttv_call_all(btv, core, s_std, id);
+       bttv_call_all(btv, video, s_std, id);
 
        return 0;
 }
index c4890a430dc6897776037bec175e3f6a532e0be8..2d3afe0431a924fa7238741d8de372dc16214a74 100644 (file)
@@ -1263,7 +1263,6 @@ static const struct v4l2_subdev_core_ops cx18_av_general_ops = {
        .log_status = cx18_av_log_status,
        .load_fw = cx18_av_load_fw,
        .reset = cx18_av_reset,
-       .s_std = cx18_av_s_std,
 #ifdef CONFIG_VIDEO_ADV_DEBUG
        .g_register = cx18_av_g_register,
        .s_register = cx18_av_s_register,
@@ -1283,6 +1282,7 @@ static const struct v4l2_subdev_audio_ops cx18_av_audio_ops = {
 };
 
 static const struct v4l2_subdev_video_ops cx18_av_video_ops = {
+       .s_std = cx18_av_s_std,
        .s_routing = cx18_av_s_video_routing,
        .s_stream = cx18_av_s_stream,
        .s_mbus_fmt = cx18_av_s_mbus_fmt,
index 4bfd865a4106069538b893720622e424b0097915..76a3b4ac541e10670e0cb24c931d076bdd100af5 100644 (file)
@@ -760,7 +760,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, core, s_std, cx->std);
+               cx18_call_all(cx, video, 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) {
index 5374aeb0cd2298f263b3216ec76196b528f4b456..38dc6b8f82546ffdf275a192dba3ff6c38cad6b9 100644 (file)
@@ -180,7 +180,6 @@ 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 = {
@@ -191,10 +190,15 @@ static const struct v4l2_subdev_audio_ops gpiomux_audio_ops = {
        .s_routing = gpiomux_s_audio_routing,
 };
 
+static const struct v4l2_subdev_video_ops gpiomux_video_ops = {
+       .s_std = gpiomux_s_std,
+};
+
 static const struct v4l2_subdev_ops gpiomux_ops = {
        .core = &gpiomux_core_ops,
        .tuner = &gpiomux_tuner_ops,
        .audio = &gpiomux_audio_ops,
+       .video = &gpiomux_video_ops,
 };
 
 /*
index 1110bcb14e2f680a9436b1af21a21546bb2413b2..fefb2cd358385bcd34234eefc7f732fee5a1c15f 100644 (file)
@@ -602,7 +602,7 @@ int cx18_s_std(struct file *file, void *fh, v4l2_std_id std)
                        (unsigned long long) cx->std);
 
        /* Tuner */
-       cx18_call_all(cx, core, s_std, cx->std);
+       cx18_call_all(cx, video, s_std, cx->std);
        return 0;
 }
 
index 7891f34157d18806ad400051b95cd2abcdd14023..e0a59523cf3c47d0520484ab8bd9531641292004 100644 (file)
@@ -326,7 +326,7 @@ int cx23885_set_tvnorm(struct cx23885_dev *dev, v4l2_std_id norm)
 
        dev->tvnorm = norm;
 
-       call_all(dev, core, s_std, norm);
+       call_all(dev, video, s_std, norm);
 
        return 0;
 }
@@ -1589,7 +1589,7 @@ static int cx23885_set_freq_via_ops(struct cx23885_dev *dev,
                fe = &dev->ts1.analog_fe;
 
        if (fe && fe->ops.tuner_ops.set_analog_params) {
-               call_all(dev, core, s_std, dev->tvnorm);
+               call_all(dev, video, s_std, dev->tvnorm);
                fe->ops.tuner_ops.set_analog_params(fe, &params);
        }
        else
index ad59dc9235aefd1ec7241185a70e9b4af6d94247..e061c88b697efd805f41764ac5819fc307d6ae42 100644 (file)
@@ -1012,7 +1012,7 @@ int cx88_set_tvnorm(struct cx88_core *core, v4l2_std_id norm)
        set_tvaudio(core);
 
        // tell i2c chips
-       call_all(core, core, s_std, norm);
+       call_all(core, video, s_std, norm);
 
        /* The chroma_agc control should be inaccessible if the video format is SECAM */
        v4l2_ctrl_grab(core->chroma_agc, cxiformat == VideoFormatSECAM);
index 9caffd8aa99513075fd9c4a86527c0c0bb3ba323..e5ff6277ca854704143398b43e585af5c6204dc5 100644 (file)
@@ -894,7 +894,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, core, s_std, itv->std);
+               ivtv_call_all(itv, video, 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) {
index 807b275a847e696b762c10d083874b618d30ee89..b3667a00db3a85dc056591c29d7fad2b333ee121 100644 (file)
@@ -1090,7 +1090,7 @@ void ivtv_s_std_enc(struct ivtv *itv, v4l2_std_id std)
                itv->vbi.sliced_decoder_line_size = itv->is_60hz ? 272 : 284;
 
        /* Tuner */
-       ivtv_call_all(itv, core, s_std, itv->std);
+       ivtv_call_all(itv, video, s_std, itv->std);
 }
 
 void ivtv_s_std_dec(struct ivtv *itv, v4l2_std_id std)
index f1452da0a76d40f9f745efd94bb072109d81d682..d3759998076869c91ae907c2e86e3b132dbb80fc 100644 (file)
@@ -477,10 +477,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, core, s_std, dev->tvnorm->id);
+               saa_call_all(dev, video, 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, core, s_std, dev->tvnorm->id);
+       saa_call_empress(dev, video, s_std, dev->tvnorm->id);
 }
 
 static void set_h_prescale(struct saa7134_dev *dev, int task, int prescale)
index 33abe332d17599936c691eeeb2e4f836d6bc5d0b..c4c8fce8f2b48fcf26520b06cf8ad90c0f895212 100644 (file)
@@ -357,7 +357,7 @@ static int mxb_init_done(struct saa7146_dev* dev)
        tea6420_route(mxb, 6);
 
        /* select video mode in saa7111a */
-       saa7111a_call(mxb, core, s_std, std);
+       saa7111a_call(mxb, video, s_std, std);
 
        /* select tuner-output on saa7111a */
        i = 0;
@@ -379,8 +379,8 @@ static int mxb_init_done(struct saa7146_dev* dev)
        /* These two gpio calls set the GPIO pins that control the tda9820 */
        saa7146_write(dev, GPIO_CTRL, 0x00404050);
        saa7111a_call(mxb, core, s_gpio, 1);
-       saa7111a_call(mxb, core, s_std, std);
-       tuner_call(mxb, core, s_std, std);
+       saa7111a_call(mxb, video, s_std, std);
+       tuner_call(mxb, video, s_std, std);
 
        /* switch to tuner-channel on tea6415c */
        tea6415c_call(mxb, video, s_routing, 3, 17, 0);
@@ -771,9 +771,9 @@ static int std_callback(struct saa7146_dev *dev, struct saa7146_standard *standa
                /* These two gpio calls set the GPIO pins that control the tda9820 */
                saa7146_write(dev, GPIO_CTRL, 0x00404050);
                saa7111a_call(mxb, core, s_gpio, 0);
-               saa7111a_call(mxb, core, s_std, std);
+               saa7111a_call(mxb, video, s_std, std);
                if (mxb->cur_input == 0)
-                       tuner_call(mxb, core, s_std, std);
+                       tuner_call(mxb, video, s_std, std);
        } else {
                v4l2_std_id std = V4L2_STD_PAL_BG;
 
@@ -783,9 +783,9 @@ static int std_callback(struct saa7146_dev *dev, struct saa7146_standard *standa
                /* These two gpio calls set the GPIO pins that control the tda9820 */
                saa7146_write(dev, GPIO_CTRL, 0x00404050);
                saa7111a_call(mxb, core, s_gpio, 1);
-               saa7111a_call(mxb, core, s_std, std);
+               saa7111a_call(mxb, video, s_std, std);
                if (mxb->cur_input == 0)
-                       tuner_call(mxb, core, s_std, std);
+                       tuner_call(mxb, video, s_std, std);
        }
        return 0;
 }
index 7559951b2ea4d1c25bc8944d34eceb076a097b14..d2abd3b5c2bf0a63447701c714e535f124ed1976 100644 (file)
@@ -444,7 +444,7 @@ static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id std)
        int status;
 
        if (V4L2_STD_ALL == std) {
-               v4l2_subdev_call(vip->decoder, core, s_std, std);
+               v4l2_subdev_call(vip->decoder, video, s_std, std);
                ssleep(2);
                v4l2_subdev_call(vip->decoder, video, querystd, &newstd);
                v4l2_subdev_call(vip->decoder, video, g_input_status, &status);
@@ -467,7 +467,7 @@ static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id std)
                        vip->format = formats_50[0];
        }
 
-       return v4l2_subdev_call(vip->decoder, core, s_std, std);
+       return v4l2_subdev_call(vip->decoder, video, s_std, std);
 }
 
 /**
index 519164c572c83161ada2bef277ebe5d08ab1d535..bf34b93f23ee84fee373057778b1692059b58a84 100644 (file)
@@ -1572,7 +1572,7 @@ zoran_init_hardware (struct zoran *zr)
        }
 
        decoder_call(zr, core, init, 0);
-       decoder_call(zr, core, s_std, zr->norm);
+       decoder_call(zr, video, s_std, zr->norm);
        decoder_call(zr, video, s_routing,
                zr->card.input[zr->input].muxsel, 0, 0);
 
index e7e9840c6c35f4060835250cfde4d018a5564f63..099d5fbebb7c428df925f71d2d4c6d97b8b8c55a 100644 (file)
@@ -1469,7 +1469,7 @@ zoran_set_norm (struct zoran *zr,
        if (on)
                zr36057_overlay(zr, 0);
 
-       decoder_call(zr, core, s_std, norm);
+       decoder_call(zr, video, s_std, norm);
        encoder_call(zr, video, s_std_output, norm);
 
        if (on)
index 16f643c4aad6fb6fbea8fc9f18deabcc20c748c4..cf3d94f733ff679a6e55c14e7d29afd1959b2c7b 100644 (file)
@@ -631,7 +631,7 @@ static int bcap_s_std(struct file *file, void *priv, v4l2_std_id std)
        if (vb2_is_busy(&bcap_dev->buffer_queue))
                return -EBUSY;
 
-       ret = v4l2_subdev_call(bcap_dev->sd, core, s_std, std);
+       ret = v4l2_subdev_call(bcap_dev->sd, video, s_std, std);
        if (ret < 0)
                return ret;
 
@@ -1065,7 +1065,7 @@ static int bcap_probe(struct platform_device *pdev)
        /* now we can probe the default state */
        if (config->inputs[0].capabilities & V4L2_IN_CAP_STD) {
                v4l2_std_id std;
-               ret = v4l2_subdev_call(bcap_dev->sd, core, g_std, &std);
+               ret = v4l2_subdev_call(bcap_dev->sd, video, g_std, &std);
                if (ret) {
                        v4l2_err(&bcap_dev->v4l2_dev,
                                        "Unable to get std\n");
index ac6c8c6ac7d0adbd067910cc7bf9c55a2246d9f0..a51bda2fb6379c814965b26c760566776188034e 100644 (file)
@@ -1217,7 +1217,7 @@ static int vpfe_s_std(struct file *file, void *priv, v4l2_std_id std_id)
        }
 
        ret = v4l2_device_call_until_err(&vpfe_dev->v4l2_dev, sdinfo->grp_id,
-                                        core, s_std, std_id);
+                                        video, s_std, std_id);
        if (ret < 0) {
                v4l2_err(&vpfe_dev->v4l2_dev, "Failed to set standard\n");
                goto unlock_out;
index 0198a5a16ed4a94d83bbdcfccf5def103158ebf1..f3d9d9cde98c2cbb31e658d149d034337c921d40 100644 (file)
@@ -951,7 +951,7 @@ static int vpif_s_std(struct file *file, void *priv, v4l2_std_id std_id)
        vpif_config_format(ch);
 
        /* set standard in the sub device */
-       ret = v4l2_subdev_call(ch->sd, core, s_std, std_id);
+       ret = v4l2_subdev_call(ch->sd, video, s_std, std_id);
        if (ret && ret != -ENOIOCTLCMD && ret != -ENODEV) {
                vpif_dbg(1, debug, "Failed to set standard for sub devices\n");
                return ret;
index d6110459a203e6892b24325b481ec07d3e896d46..6513f5188f65ec9812e2e15fb62ff696e7bb1647 100644 (file)
@@ -718,7 +718,7 @@ static int vpif_s_std(struct file *file, void *priv, v4l2_std_id std_id)
                return ret;
        }
 
-       ret = v4l2_device_call_until_err(&vpif_obj.v4l2_dev, 1, core,
+       ret = v4l2_device_call_until_err(&vpif_obj.v4l2_dev, 1, video,
                                                        s_std, std_id);
        if (ret < 0)
                vpif_err("Failed to set standard for sub devices\n");
index dbf0ce38a8e7db1566d5ddde361f51d570fca03d..d5dc198502ef0a81fc804594733e06ac8f60933f 100644 (file)
@@ -964,7 +964,7 @@ static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id id)
        struct viu_fh *fh = priv;
 
        fh->dev->std = id;
-       decoder_call(fh->dev, core, s_std, id);
+       decoder_call(fh->dev, video, s_std, id);
        return 0;
 }
 
index c8549bf3213b1a95695289159853e9fcf56080de..7fec8cdaf095164ed035843f44a7632652d802cb 100644 (file)
@@ -314,7 +314,7 @@ static int soc_camera_s_std(struct file *file, void *priv, v4l2_std_id a)
        struct soc_camera_device *icd = file->private_data;
        struct v4l2_subdev *sd = soc_camera_to_subdev(icd);
 
-       return v4l2_subdev_call(sd, core, s_std, a);
+       return v4l2_subdev_call(sd, video, s_std, a);
 }
 
 static int soc_camera_g_std(struct file *file, void *priv, v4l2_std_id *a)
@@ -322,7 +322,7 @@ static int soc_camera_g_std(struct file *file, void *priv, v4l2_std_id *a)
        struct soc_camera_device *icd = file->private_data;
        struct v4l2_subdev *sd = soc_camera_to_subdev(icd);
 
-       return v4l2_subdev_call(sd, core, g_std, a);
+       return v4l2_subdev_call(sd, video, g_std, a);
 }
 
 static int soc_camera_enum_framesizes(struct file *file, void *fh,
index fbfdadaa0803e8b5fba5ac0d127cd1b723cb60ab..3cb2f3564873b7a4d03ebd8034eddd4563e42b4e 100644 (file)
@@ -347,7 +347,7 @@ static int timblogiw_s_std(struct file *file, void  *priv, v4l2_std_id std)
        mutex_lock(&lw->lock);
 
        if (TIMBLOGIW_HAS_DECODER(lw))
-               err = v4l2_subdev_call(lw->sd_enc, core, s_std, std);
+               err = v4l2_subdev_call(lw->sd_enc, video, s_std, std);
 
        if (!err)
                fh->cur_norm = timblogiw_get_norm(std);
index c6af974c5b45c82eced9d54ee8d2337b2d276800..470d35336119743ab9c46138f6c1156d14af7178 100644 (file)
@@ -2586,7 +2586,7 @@ static int vino_acquire_input(struct vino_channel_settings *vcs)
                        }
                        if (data_norm == 3)
                                data_norm = VINO_DATA_NORM_PAL;
-                       ret = decoder_call(core, s_std, norm);
+                       ret = decoder_call(video, s_std, norm);
                }
 
                spin_lock_irqsave(&vino_drvdata->input_lock, flags);
@@ -2675,7 +2675,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(core, s_std, norm);
+                               ret = decoder_call(video, s_std, norm);
                        }
 
                        spin_lock_irqsave(&vino_drvdata->input_lock, flags);
@@ -2809,7 +2809,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(core, s_std, norm);
+               err = decoder_call(video, s_std, norm);
 
                spin_lock_irqsave(&vino_drvdata->input_lock, *flags);
 
index f6154546b5c0b3d9a70fad164b07bb5e3d27e134..9038194513c5461c47d444c7bccb0d861e23dadb 100644 (file)
@@ -1109,7 +1109,7 @@ static void au0828_init_tuner(struct au0828_dev *dev)
        /* If we've never sent the standard in tuner core, do so now.
           We don't do this at device probe because we don't want to
           incur the cost of a firmware load */
-       v4l2_device_call_all(&dev->v4l2_dev, 0, core, s_std, dev->std);
+       v4l2_device_call_all(&dev->v4l2_dev, 0, video, s_std, dev->std);
        v4l2_device_call_all(&dev->v4l2_dev, 0, tuner, s_frequency, &f);
        i2c_gate_ctrl(dev, 0);
 }
@@ -1368,7 +1368,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, core, s_std, norm);
+       v4l2_device_call_all(&dev->v4l2_dev, 0, video, s_std, norm);
 
        i2c_gate_ctrl(dev, 0);
 
index 2f63029e7a363675c62d17955a4d4c5fdc974fae..30a0c69fb42f1a79b65850579aee2c683a7d26e9 100644 (file)
@@ -1516,7 +1516,7 @@ static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id id)
                dev->ts1.height = 576;
                cx2341x_handler_set_50hz(&dev->mpeg_ctrl_handler, true);
        }
-       call_all(dev, core, s_std, dev->norm);
+       call_all(dev, video, s_std, dev->norm);
        /* do mode control overrides */
        cx231xx_do_mode_ctrl_overrides(dev);
 
index 990626101718c54369538c2391d9ac4de4008e46..1f8751379e240a71d453580087962721807060bf 100644 (file)
@@ -1009,7 +1009,7 @@ static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id norm)
        dev->width = 720;
        dev->height = (dev->norm & V4L2_STD_625_50) ? 576 : 480;
 
-       call_all(dev, core, s_std, dev->norm);
+       call_all(dev, video, s_std, dev->norm);
 
        /* We need to reset basic properties in the decoder related to
           resolution (since a standard change effects things like the number
@@ -1108,7 +1108,7 @@ int cx231xx_s_input(struct file *file, void *priv, unsigned int i)
                /* There's a tuner, so reset the standard and put it on the
                   last known frequency (since it was probably powered down
                   until now */
-               call_all(dev, core, s_std, dev->norm);
+               call_all(dev, video, s_std, dev->norm);
        }
 
        return 0;
@@ -2099,7 +2099,7 @@ int cx231xx_register_analog_devices(struct cx231xx *dev)
        /* Set the initial input */
        video_mux(dev, dev->video_input);
 
-       call_all(dev, core, s_std, dev->norm);
+       call_all(dev, video, s_std, dev->norm);
 
        v4l2_ctrl_handler_init(&dev->ctrl_handler, 10);
        v4l2_ctrl_handler_init(&dev->radio_ctrl_handler, 5);
index 0f8501f39fa7e1d1d73d5e76b061dcc911776329..f6b49c98e2c9f0d488cbadbfc7c4ef1b53b432ef 100644 (file)
@@ -1400,7 +1400,7 @@ static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id norm)
                           &v4l2->hscale, &v4l2->vscale);
 
        em28xx_resolution_set(dev);
-       v4l2_device_call_all(&v4l2->v4l2_dev, 0, core, s_std, v4l2->norm);
+       v4l2_device_call_all(&v4l2->v4l2_dev, 0, video, s_std, v4l2->norm);
 
        return 0;
 }
@@ -2440,7 +2440,7 @@ static int em28xx_v4l2_init(struct em28xx *dev)
 
        /* set default norm */
        v4l2->norm = V4L2_STD_PAL;
-       v4l2_device_call_all(&v4l2->v4l2_dev, 0, core, s_std, v4l2->norm);
+       v4l2_device_call_all(&v4l2->v4l2_dev, 0, video, s_std, v4l2->norm);
        v4l2->interlaced_fieldmode = EM28XX_INTERLACED_DEFAULT;
 
        /* Analog specific initialization */
index ea05f678b5597ee801c249fd3a22694df6f34edc..9623b6218214eb1e5abb6d2336b04a1c8b76ac6d 100644 (file)
@@ -2910,7 +2910,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,
-                                            core, s_std, vs);
+                                            video, s_std, vs);
                        pvr2_hdw_cx25840_vbi_hack(hdw);
                }
                hdw->tuner_signal_stale = !0;
index 46e8a5069b37039fe0141daf174046d4fa38e6e0..5461341a31cba24090e197cde0a985f8d5599e2d 100644 (file)
@@ -406,7 +406,7 @@ static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id norm)
 
        stk1160_set_std(dev);
 
-       v4l2_device_call_all(&dev->v4l2_dev, 0, core, s_std,
+       v4l2_device_call_all(&dev->v4l2_dev, 0, video, s_std,
                        dev->norm);
 
        return 0;
@@ -682,7 +682,7 @@ int stk1160_video_register(struct stk1160 *dev)
        dev->fmt = &format[0];
        stk1160_set_std(dev);
 
-       v4l2_device_call_all(&dev->v4l2_dev, 0, core, s_std,
+       v4l2_device_call_all(&dev->v4l2_dev, 0, video, s_std,
                        dev->norm);
 
        video_set_drvdata(&dev->vdev, dev);
index 1ccaaddaa307874479faf08ccb56ecce76c76cca..2e8c3afe4ec4f2864d0dd34c3db36ff3fb2cd331 100644 (file)
@@ -1120,7 +1120,7 @@ static int tm6000_init_dev(struct tm6000_core *dev)
        tm6000_config_tuner(dev);
 
        /* Set video standard */
-       v4l2_device_call_all(&dev->v4l2_dev, 0, core, s_std, dev->norm);
+       v4l2_device_call_all(&dev->v4l2_dev, 0, video, s_std, dev->norm);
 
        /* Set tuner frequency - also loads firmware on xc2028/xc3028 */
        f.tuner = 0;
index cc1aa14996ff04ebc75f4d8c050075bb34c7128e..e6b3d5d83d43033667203f642655e2df33df4f0c 100644 (file)
@@ -1071,7 +1071,7 @@ static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id norm)
        if (rc < 0)
                return rc;
 
-       v4l2_device_call_all(&dev->v4l2_dev, 0, core, s_std, dev->norm);
+       v4l2_device_call_all(&dev->v4l2_dev, 0, video, s_std, dev->norm);
 
        return 0;
 }
index 5c9e3123ad2eac4dbb98ae5b584a7a016849d38d..68bc9615660efaf584bc1361b54706a5ef2b4df1 100644 (file)
@@ -597,7 +597,7 @@ static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id id)
 
        usbvision->tvnorm_id = id;
 
-       call_all(usbvision, core, s_std, usbvision->tvnorm_id);
+       call_all(usbvision, video, s_std, usbvision->tvnorm_id);
        /* propagate the change to the decoder */
        usbvision_muxsel(usbvision, usbvision->ctl_input);
 
index 20c09229a08ed7063cc05a02a30909c3c7fe7bd6..06c18ba16fa0427cc71fff76f08c140f55b05384 100644 (file)
@@ -1301,7 +1301,6 @@ 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,
        .s_power = tuner_s_power,
 };
 
@@ -1315,9 +1314,14 @@ static const struct v4l2_subdev_tuner_ops tuner_tuner_ops = {
        .s_config = tuner_s_config,
 };
 
+static const struct v4l2_subdev_video_ops tuner_video_ops = {
+       .s_std = tuner_s_std,
+};
+
 static const struct v4l2_subdev_ops tuner_ops = {
        .core = &tuner_core_ops,
        .tuner = &tuner_tuner_ops,
+       .video = &tuner_video_ops,
 };
 
 /*
index 7b213a7f96239ebf00d5222a5ca6286f98103347..425e2c849723ebb6cfd38197320dfedb4f760be0 100644 (file)
@@ -944,7 +944,7 @@ static int vpfe_s_std(struct file *file, void *priv, v4l2_std_id std_id)
                goto unlock_out;
        }
        ret = v4l2_device_call_until_err(&vpfe_dev->v4l2_dev, sdinfo->grp_id,
-                                        core, s_std, std_id);
+                                        video, s_std, std_id);
        if (ret < 0) {
                v4l2_err(&vpfe_dev->v4l2_dev, "Failed to set standard\n");
                video->stdid = V4L2_STD_UNKNOWN;
index 090b3e6e852a1cdb6c912427a536e3cd591d23ef..da7b5493e13e31235a49107a7fe9f1a78021bb94 100644 (file)
@@ -665,7 +665,7 @@ static int go7007_s_std(struct go7007 *go)
                go->sensor_framerate = 30000;
        }
 
-       call_all(&go->v4l2_dev, core, s_std, go->std);
+       call_all(&go->v4l2_dev, video, s_std, go->std);
        set_capture_size(go, NULL, 0);
        return 0;
 }
index 696a807566914dd6be9fdd29cae44fce7a5e3111..eaa2b0990a1b0a77ed2c6f8943b8b742647df7dc 100644 (file)
@@ -474,7 +474,6 @@ static const struct v4l2_ctrl_ops s2250_ctrl_ops = {
 
 static const struct v4l2_subdev_core_ops s2250_core_ops = {
        .log_status = s2250_log_status,
-       .s_std = s2250_s_std,
 };
 
 static const struct v4l2_subdev_audio_ops s2250_audio_ops = {
@@ -482,6 +481,7 @@ static const struct v4l2_subdev_audio_ops s2250_audio_ops = {
 };
 
 static const struct v4l2_subdev_video_ops s2250_video_ops = {
+       .s_std = s2250_s_std,
        .s_routing = s2250_s_video_routing,
        .s_mbus_fmt = s2250_s_mbus_fmt,
 };
index 6e2ca338cdd9917d9f2216fbc67680f84261400b..e40f7fbfc0a56f3ff1bf144c0642451b3cc1c622 100644 (file)
@@ -434,11 +434,15 @@ static const struct v4l2_subdev_core_ops saa7134_go7007_core_ops = {
        .g_ctrl = saa7134_go7007_g_ctrl,
        .s_ctrl = saa7134_go7007_s_ctrl,
        .queryctrl = saa7134_go7007_queryctrl,
+};
+
+static const struct v4l2_subdev_video_ops saa7134_go7007_video_ops = {
        .s_std = saa7134_go7007_s_std,
 };
 
 static const struct v4l2_subdev_ops saa7134_go7007_sd_ops = {
        .core = &saa7134_go7007_core_ops,
+       .video = &saa7134_go7007_video_ops,
 };
 
 /* --------------------------------------------------------------------------*/
index 9205df13f3a59beae0c427d94686da9a69ab0de6..dd5bbbe2d56a100af0d72f72457c4b457220e9af 100644 (file)
@@ -159,8 +159,6 @@ 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 (*g_std)(struct v4l2_subdev *sd, v4l2_std_id *norm);
-       int (*s_std)(struct v4l2_subdev *sd, v4l2_std_id norm);
        long (*ioctl)(struct v4l2_subdev *sd, unsigned int cmd, void *arg);
 #ifdef CONFIG_COMPAT
        long (*compat_ioctl32)(struct v4l2_subdev *sd, unsigned int cmd,
@@ -316,6 +314,8 @@ struct v4l2_mbus_frame_desc {
 struct v4l2_subdev_video_ops {
        int (*s_routing)(struct v4l2_subdev *sd, u32 input, u32 output, u32 config);
        int (*s_crystal_freq)(struct v4l2_subdev *sd, u32 freq, u32 flags);
+       int (*g_std)(struct v4l2_subdev *sd, v4l2_std_id *norm);
+       int (*s_std)(struct v4l2_subdev *sd, v4l2_std_id norm);
        int (*s_std_output)(struct v4l2_subdev *sd, v4l2_std_id std);
        int (*g_std_output)(struct v4l2_subdev *sd, v4l2_std_id *std);
        int (*querystd)(struct v4l2_subdev *sd, v4l2_std_id *std);
@@ -693,7 +693,7 @@ void v4l2_subdev_init(struct v4l2_subdev *sd,
 /* Call an ops of a v4l2_subdev, doing the right checks against
    NULL pointers.
 
-   Example: err = v4l2_subdev_call(sd, core, s_std, norm);
+   Example: err = v4l2_subdev_call(sd, video, s_std, norm);
  */
 #define v4l2_subdev_call(sd, o, f, args...)                            \
        (!(sd) ? -ENODEV : (((sd)->ops->o && (sd)->ops->o->f) ? \