linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH 00/13] Remove current_norm
@ 2013-06-03  9:36 Hans Verkuil
  2013-06-03  9:36 ` [RFC PATCH 01/13] mcam-core: replace current_norm by g_std Hans Verkuil
                   ` (12 more replies)
  0 siblings, 13 replies; 22+ messages in thread
From: Hans Verkuil @ 2013-06-03  9:36 UTC (permalink / raw)
  To: linux-media

The use of current_norm to keep track of the current standard has been
deprecated for quite some time. This patch series converts the last users
of current_norm to g_std so we can drop it from the core.

It was a bad idea to introduce this at the time: since it is a per-device
node field it didn't work for drivers that create multiple nodes, all sharing
the same tuner (e.g. video and vbi nodes, or a raw video node and a compressed
video node). In addition it was very surprising behavior that g_std was
implemented in the core. Often drivers implemented both g_std and current_norm,
because they didn't understand how it should be used.

Since the benefits were very limited (if they were there at all), it is better
to just drop it and require that drivers just implement g_std.

Regards,

	Hans


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [RFC PATCH 01/13] mcam-core: replace current_norm by g_std.
  2013-06-03  9:36 [RFC PATCH 00/13] Remove current_norm Hans Verkuil
@ 2013-06-03  9:36 ` Hans Verkuil
  2013-06-03  9:36 ` [RFC PATCH 02/13] via-camera: " Hans Verkuil
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 22+ messages in thread
From: Hans Verkuil @ 2013-06-03  9:36 UTC (permalink / raw)
  To: linux-media; +Cc: Hans Verkuil, Jonathan Corbet

From: Hans Verkuil <hans.verkuil@cisco.com>

The current_norm field is deprecated, replace this by properly
implementing g_std.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Cc: Jonathan Corbet <corbet@lwn.net>
---
 drivers/media/platform/marvell-ccic/mcam-core.c |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/media/platform/marvell-ccic/mcam-core.c b/drivers/media/platform/marvell-ccic/mcam-core.c
index 64ab91e..61e34bd 100644
--- a/drivers/media/platform/marvell-ccic/mcam-core.c
+++ b/drivers/media/platform/marvell-ccic/mcam-core.c
@@ -1362,6 +1362,12 @@ static int mcam_vidioc_s_std(struct file *filp, void *priv, v4l2_std_id a)
 	return 0;
 }
 
+static int mcam_vidioc_g_std(struct file *filp, void *priv, v4l2_std_id *a)
+{
+	*a = V4L2_STD_NTSC_M;
+	return 0;
+}
+
 /*
  * G/S_PARM.  Most of this is done by the sensor, but we are
  * the level which controls the number of read buffers.
@@ -1467,6 +1473,7 @@ static const struct v4l2_ioctl_ops mcam_v4l_ioctl_ops = {
 	.vidioc_g_input		= mcam_vidioc_g_input,
 	.vidioc_s_input		= mcam_vidioc_s_input,
 	.vidioc_s_std		= mcam_vidioc_s_std,
+	.vidioc_g_std		= mcam_vidioc_g_std,
 	.vidioc_reqbufs		= mcam_vidioc_reqbufs,
 	.vidioc_querybuf	= mcam_vidioc_querybuf,
 	.vidioc_qbuf		= mcam_vidioc_qbuf,
@@ -1593,7 +1600,6 @@ static const struct v4l2_file_operations mcam_v4l_fops = {
 static struct video_device mcam_v4l_template = {
 	.name = "mcam",
 	.tvnorms = V4L2_STD_NTSC_M,
-	.current_norm = V4L2_STD_NTSC_M,  /* make mplayer happy */
 
 	.fops = &mcam_v4l_fops,
 	.ioctl_ops = &mcam_v4l_ioctl_ops,
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [RFC PATCH 02/13] via-camera: replace current_norm by g_std.
  2013-06-03  9:36 [RFC PATCH 00/13] Remove current_norm Hans Verkuil
  2013-06-03  9:36 ` [RFC PATCH 01/13] mcam-core: replace current_norm by g_std Hans Verkuil
@ 2013-06-03  9:36 ` Hans Verkuil
  2013-06-03  9:36 ` [RFC PATCH 03/13] sh_vou: remove current_norm Hans Verkuil
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 22+ messages in thread
From: Hans Verkuil @ 2013-06-03  9:36 UTC (permalink / raw)
  To: linux-media; +Cc: Hans Verkuil, Jonathan Corbet

From: Hans Verkuil <hans.verkuil@cisco.com>

The current_norm field is deprecated. Replace it by properly implementing
g_std.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Cc: Jonathan Corbet <corbet@lwn.net>
---
 drivers/media/platform/via-camera.c |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/media/platform/via-camera.c b/drivers/media/platform/via-camera.c
index a794cd6..7522abc 100644
--- a/drivers/media/platform/via-camera.c
+++ b/drivers/media/platform/via-camera.c
@@ -852,6 +852,12 @@ static int viacam_s_std(struct file *filp, void *priv, v4l2_std_id std)
 	return 0;
 }
 
+static int viacam_g_std(struct file *filp, void *priv, v4l2_std_id *std)
+{
+	*std = V4L2_STD_NTSC_M;
+	return 0;
+}
+
 /*
  * Video format stuff.	Here is our default format until
  * user space messes with things.
@@ -1179,6 +1185,7 @@ static const struct v4l2_ioctl_ops viacam_ioctl_ops = {
 	.vidioc_g_input		= viacam_g_input,
 	.vidioc_s_input		= viacam_s_input,
 	.vidioc_s_std		= viacam_s_std,
+	.vidioc_g_std		= viacam_g_std,
 	.vidioc_enum_fmt_vid_cap = viacam_enum_fmt_vid_cap,
 	.vidioc_try_fmt_vid_cap = viacam_try_fmt_vid_cap,
 	.vidioc_g_fmt_vid_cap	= viacam_g_fmt_vid_cap,
@@ -1266,7 +1273,6 @@ static struct video_device viacam_v4l_template = {
 	.name		= "via-camera",
 	.minor		= -1,
 	.tvnorms	= V4L2_STD_NTSC_M,
-	.current_norm	= V4L2_STD_NTSC_M,
 	.fops		= &viacam_fops,
 	.ioctl_ops	= &viacam_ioctl_ops,
 	.release	= video_device_release_empty, /* Check this */
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [RFC PATCH 03/13] sh_vou: remove current_norm
  2013-06-03  9:36 [RFC PATCH 00/13] Remove current_norm Hans Verkuil
  2013-06-03  9:36 ` [RFC PATCH 01/13] mcam-core: replace current_norm by g_std Hans Verkuil
  2013-06-03  9:36 ` [RFC PATCH 02/13] via-camera: " Hans Verkuil
@ 2013-06-03  9:36 ` Hans Verkuil
  2013-06-07  9:36   ` Guennadi Liakhovetski
  2013-06-03  9:36 ` [RFC PATCH 04/13] soc_camera: remove use of current_norm Hans Verkuil
                   ` (9 subsequent siblings)
  12 siblings, 1 reply; 22+ messages in thread
From: Hans Verkuil @ 2013-06-03  9:36 UTC (permalink / raw)
  To: linux-media; +Cc: Hans Verkuil, Guennadi Liakhovetski

From: Hans Verkuil <hans.verkuil@cisco.com>

The current_norm field is deprecated and is replaced by g_std. This driver
already implements g_std, so just remove current_norm.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
---
 drivers/media/platform/sh_vou.c |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/media/platform/sh_vou.c b/drivers/media/platform/sh_vou.c
index 7d02350..84625fa 100644
--- a/drivers/media/platform/sh_vou.c
+++ b/drivers/media/platform/sh_vou.c
@@ -1313,7 +1313,6 @@ static const struct video_device sh_vou_video_template = {
 	.fops		= &sh_vou_fops,
 	.ioctl_ops	= &sh_vou_ioctl_ops,
 	.tvnorms	= V4L2_STD_525_60, /* PAL only supported in 8-bit non-bt656 mode */
-	.current_norm	= V4L2_STD_NTSC_M,
 	.vfl_dir	= VFL_DIR_TX,
 };
 
@@ -1352,7 +1351,7 @@ static int sh_vou_probe(struct platform_device *pdev)
 	pix = &vou_dev->pix;
 
 	/* Fill in defaults */
-	vou_dev->std		= sh_vou_video_template.current_norm;
+	vou_dev->std		= V4L2_STD_NTSC_M;
 	rect->left		= 0;
 	rect->top		= 0;
 	rect->width		= VOU_MAX_IMAGE_WIDTH;
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [RFC PATCH 04/13] soc_camera: remove use of current_norm.
  2013-06-03  9:36 [RFC PATCH 00/13] Remove current_norm Hans Verkuil
                   ` (2 preceding siblings ...)
  2013-06-03  9:36 ` [RFC PATCH 03/13] sh_vou: remove current_norm Hans Verkuil
@ 2013-06-03  9:36 ` Hans Verkuil
  2013-06-07  9:36   ` Guennadi Liakhovetski
  2013-06-03  9:36 ` [RFC PATCH 05/13] soc_camera: replace vdev->parent by vdev->v4l2_dev Hans Verkuil
                   ` (8 subsequent siblings)
  12 siblings, 1 reply; 22+ messages in thread
From: Hans Verkuil @ 2013-06-03  9:36 UTC (permalink / raw)
  To: linux-media; +Cc: Hans Verkuil, Guennadi Liakhovetski

From: Hans Verkuil <hans.verkuil@cisco.com>

The current_norm field is deprecated, so don't set it. Since it is set to
V4L2_STD_UNKNOWN which is 0 it didn't do anything anyway.

Also remove a few other unnecessary uses of V4L2_STD_UNKNOWN.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
---
 drivers/media/platform/soc_camera/soc_camera.c |    3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/media/platform/soc_camera/soc_camera.c b/drivers/media/platform/soc_camera/soc_camera.c
index eea832c..96645e9 100644
--- a/drivers/media/platform/soc_camera/soc_camera.c
+++ b/drivers/media/platform/soc_camera/soc_camera.c
@@ -235,7 +235,6 @@ static int soc_camera_enum_input(struct file *file, void *priv,
 
 	/* default is camera */
 	inp->type = V4L2_INPUT_TYPE_CAMERA;
-	inp->std  = V4L2_STD_UNKNOWN;
 	strcpy(inp->name, "Camera");
 
 	return 0;
@@ -1513,11 +1512,9 @@ static int video_dev_create(struct soc_camera_device *icd)
 	strlcpy(vdev->name, ici->drv_name, sizeof(vdev->name));
 
 	vdev->parent		= icd->pdev;
-	vdev->current_norm	= V4L2_STD_UNKNOWN;
 	vdev->fops		= &soc_camera_fops;
 	vdev->ioctl_ops		= &soc_camera_ioctl_ops;
 	vdev->release		= video_device_release;
-	vdev->tvnorms		= V4L2_STD_UNKNOWN;
 	vdev->ctrl_handler	= &icd->ctrl_handler;
 	vdev->lock		= &ici->host_lock;
 
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [RFC PATCH 05/13] soc_camera: replace vdev->parent by vdev->v4l2_dev.
  2013-06-03  9:36 [RFC PATCH 00/13] Remove current_norm Hans Verkuil
                   ` (3 preceding siblings ...)
  2013-06-03  9:36 ` [RFC PATCH 04/13] soc_camera: remove use of current_norm Hans Verkuil
@ 2013-06-03  9:36 ` Hans Verkuil
  2013-06-07  9:33   ` Guennadi Liakhovetski
  2013-06-03  9:36 ` [RFC PATCH 06/13] fsl-viu: remove current_norm Hans Verkuil
                   ` (7 subsequent siblings)
  12 siblings, 1 reply; 22+ messages in thread
From: Hans Verkuil @ 2013-06-03  9:36 UTC (permalink / raw)
  To: linux-media; +Cc: Hans Verkuil, Guennadi Liakhovetski

From: Hans Verkuil <hans.verkuil@cisco.com>

The parent field will eventually disappear to be replaced by v4l2_dev.
soc_camera does provide a v4l2_device struct but did not point to it in
struct video_device. This is now fixed.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
---
 drivers/media/platform/soc_camera/soc_camera.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/media/platform/soc_camera/soc_camera.c b/drivers/media/platform/soc_camera/soc_camera.c
index 96645e9..ea951ec 100644
--- a/drivers/media/platform/soc_camera/soc_camera.c
+++ b/drivers/media/platform/soc_camera/soc_camera.c
@@ -524,7 +524,7 @@ static int soc_camera_open(struct file *file)
 		return -ENODEV;
 	}
 
-	icd = dev_get_drvdata(vdev->parent);
+	icd = dev_get_drvdata(vdev->v4l2_dev->dev);
 	ici = to_soc_camera_host(icd->parent);
 
 	ret = try_module_get(ici->ops->owner) ? 0 : -ENODEV;
@@ -1511,7 +1511,7 @@ static int video_dev_create(struct soc_camera_device *icd)
 
 	strlcpy(vdev->name, ici->drv_name, sizeof(vdev->name));
 
-	vdev->parent		= icd->pdev;
+	vdev->v4l2_dev		= &ici->v4l2_dev;
 	vdev->fops		= &soc_camera_fops;
 	vdev->ioctl_ops		= &soc_camera_ioctl_ops;
 	vdev->release		= video_device_release;
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [RFC PATCH 06/13] fsl-viu: remove current_norm.
  2013-06-03  9:36 [RFC PATCH 00/13] Remove current_norm Hans Verkuil
                   ` (4 preceding siblings ...)
  2013-06-03  9:36 ` [RFC PATCH 05/13] soc_camera: replace vdev->parent by vdev->v4l2_dev Hans Verkuil
@ 2013-06-03  9:36 ` Hans Verkuil
  2013-06-03  9:36 ` [RFC PATCH 07/13] tm6000: remove deprecated current_norm Hans Verkuil
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 22+ messages in thread
From: Hans Verkuil @ 2013-06-03  9:36 UTC (permalink / raw)
  To: linux-media; +Cc: Hans Verkuil, Anatolij Gustschin

From: Hans Verkuil <hans.verkuil@cisco.com>

The use of current_norm is deprecated, so remove it. This driver actually
already implements g_std, which overrides current_norm, but the 'std' field
was never initialized correctly. This has been fixed as well.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Cc: Anatolij Gustschin <agust@denx.de>
---
 drivers/media/platform/fsl-viu.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/media/platform/fsl-viu.c b/drivers/media/platform/fsl-viu.c
index 3a6a0dc..221ec42 100644
--- a/drivers/media/platform/fsl-viu.c
+++ b/drivers/media/platform/fsl-viu.c
@@ -1475,7 +1475,6 @@ static struct video_device viu_template = {
 	.release	= video_device_release,
 
 	.tvnorms        = V4L2_STD_NTSC_M | V4L2_STD_PAL,
-	.current_norm   = V4L2_STD_NTSC_M,
 };
 
 static int viu_of_probe(struct platform_device *op)
@@ -1546,6 +1545,7 @@ static int viu_of_probe(struct platform_device *op)
 	viu_dev->vidq.timeout.function = viu_vid_timeout;
 	viu_dev->vidq.timeout.data     = (unsigned long)viu_dev;
 	init_timer(&viu_dev->vidq.timeout);
+	viu_dev->std = V4L2_STD_NTSC_M;
 	viu_dev->first = 1;
 
 	/* Allocate memory for video device */
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [RFC PATCH 07/13] tm6000: remove deprecated current_norm
  2013-06-03  9:36 [RFC PATCH 00/13] Remove current_norm Hans Verkuil
                   ` (5 preceding siblings ...)
  2013-06-03  9:36 ` [RFC PATCH 06/13] fsl-viu: remove current_norm Hans Verkuil
@ 2013-06-03  9:36 ` Hans Verkuil
  2013-06-03  9:36 ` [RFC PATCH 08/13] saa7164: replace current_norm by g_std Hans Verkuil
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 22+ messages in thread
From: Hans Verkuil @ 2013-06-03  9:36 UTC (permalink / raw)
  To: linux-media; +Cc: Hans Verkuil, Mauro Carvalho Chehab

From: Hans Verkuil <hans.verkuil@cisco.com>

Replace current_norm by g_std. Also initialize the standard to the more
common NTSC-M format (which is also what current_norm used).

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Cc: Mauro Carvalho Chehab <mchehab@redhat.com>
---
 drivers/media/usb/tm6000/tm6000-cards.c |    2 +-
 drivers/media/usb/tm6000/tm6000-video.c |   13 +++++++++++--
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/drivers/media/usb/tm6000/tm6000-cards.c b/drivers/media/usb/tm6000/tm6000-cards.c
index 307d8c5..1ccaadd 100644
--- a/drivers/media/usb/tm6000/tm6000-cards.c
+++ b/drivers/media/usb/tm6000/tm6000-cards.c
@@ -1114,7 +1114,7 @@ static int tm6000_init_dev(struct tm6000_core *dev)
 	/* Default values for STD and resolutions */
 	dev->width = 720;
 	dev->height = 480;
-	dev->norm = V4L2_STD_PAL_M;
+	dev->norm = V4L2_STD_NTSC_M;
 
 	/* Configure tuner */
 	tm6000_config_tuner(dev);
diff --git a/drivers/media/usb/tm6000/tm6000-video.c b/drivers/media/usb/tm6000/tm6000-video.c
index a78de1d..cc1aa14 100644
--- a/drivers/media/usb/tm6000/tm6000-video.c
+++ b/drivers/media/usb/tm6000/tm6000-video.c
@@ -1076,6 +1076,15 @@ static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id norm)
 	return 0;
 }
 
+static int vidioc_g_std(struct file *file, void *priv, v4l2_std_id *norm)
+{
+	struct tm6000_fh *fh = priv;
+	struct tm6000_core *dev = fh->dev;
+
+	*norm = dev->norm;
+	return 0;
+}
+
 static const char *iname[] = {
 	[TM6000_INPUT_TV] = "Television",
 	[TM6000_INPUT_COMPOSITE1] = "Composite 1",
@@ -1134,7 +1143,7 @@ static int vidioc_s_input(struct file *file, void *priv, unsigned int i)
 
 	dev->input = i;
 
-	rc = vidioc_s_std(file, priv, dev->vfd->current_norm);
+	rc = vidioc_s_std(file, priv, dev->norm);
 
 	return rc;
 }
@@ -1547,6 +1556,7 @@ static const struct v4l2_ioctl_ops video_ioctl_ops = {
 	.vidioc_try_fmt_vid_cap   = vidioc_try_fmt_vid_cap,
 	.vidioc_s_fmt_vid_cap     = vidioc_s_fmt_vid_cap,
 	.vidioc_s_std             = vidioc_s_std,
+	.vidioc_g_std             = vidioc_g_std,
 	.vidioc_enum_input        = vidioc_enum_input,
 	.vidioc_g_input           = vidioc_g_input,
 	.vidioc_s_input           = vidioc_s_input,
@@ -1570,7 +1580,6 @@ static struct video_device tm6000_template = {
 	.ioctl_ops      = &video_ioctl_ops,
 	.release	= video_device_release,
 	.tvnorms        = TM6000_STD,
-	.current_norm   = V4L2_STD_NTSC_M,
 };
 
 static const struct v4l2_file_operations radio_fops = {
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [RFC PATCH 08/13] saa7164: replace current_norm by g_std
  2013-06-03  9:36 [RFC PATCH 00/13] Remove current_norm Hans Verkuil
                   ` (6 preceding siblings ...)
  2013-06-03  9:36 ` [RFC PATCH 07/13] tm6000: remove deprecated current_norm Hans Verkuil
@ 2013-06-03  9:36 ` Hans Verkuil
  2013-06-03  9:36 ` [RFC PATCH 09/13] cx23885: remove use of deprecated current_norm Hans Verkuil
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 22+ messages in thread
From: Hans Verkuil @ 2013-06-03  9:36 UTC (permalink / raw)
  To: linux-media; +Cc: Hans Verkuil, Steven Toth

From: Hans Verkuil <hans.verkuil@cisco.com>

current_norm is deprecated. Replace it by g_std.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Cc: Steven Toth <stoth@kernellabs.com>
---
 drivers/media/pci/saa7164/saa7164-encoder.c |   13 ++++++++++++-
 drivers/media/pci/saa7164/saa7164-vbi.c     |   13 ++++++++++++-
 drivers/media/pci/saa7164/saa7164.h         |    1 +
 3 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/drivers/media/pci/saa7164/saa7164-encoder.c b/drivers/media/pci/saa7164/saa7164-encoder.c
index 63a72fb..ffa2965 100644
--- a/drivers/media/pci/saa7164/saa7164-encoder.c
+++ b/drivers/media/pci/saa7164/saa7164-encoder.c
@@ -228,6 +228,7 @@ static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id id)
 		return -EINVAL;
 
 	port->encodernorm = saa7164_tvnorms[i];
+	port->std = id;
 
 	/* Update the audio decoder while is not running in
 	 * auto detect mode.
@@ -239,6 +240,15 @@ static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id id)
 	return 0;
 }
 
+static int vidioc_g_std(struct file *file, void *priv, v4l2_std_id *id)
+{
+	struct saa7164_encoder_fh *fh = file->private_data;
+	struct saa7164_port *port = fh->port;
+
+	*id = port->std;
+	return 0;
+}
+
 static int vidioc_enum_input(struct file *file, void *priv,
 	struct v4l2_input *i)
 {
@@ -1322,6 +1332,7 @@ static int saa7164_s_register(struct file *file, void *fh,
 
 static const struct v4l2_ioctl_ops mpeg_ioctl_ops = {
 	.vidioc_s_std		 = vidioc_s_std,
+	.vidioc_g_std		 = vidioc_g_std,
 	.vidioc_enum_input	 = vidioc_enum_input,
 	.vidioc_g_input		 = vidioc_g_input,
 	.vidioc_s_input		 = vidioc_s_input,
@@ -1353,7 +1364,6 @@ static struct video_device saa7164_mpeg_template = {
 	.ioctl_ops     = &mpeg_ioctl_ops,
 	.minor         = -1,
 	.tvnorms       = SAA7164_NORMS,
-	.current_norm  = V4L2_STD_NTSC_M,
 };
 
 static struct video_device *saa7164_encoder_alloc(
@@ -1420,6 +1430,7 @@ int saa7164_encoder_register(struct saa7164_port *port)
 	port->encoder_params.ctl_aspect = V4L2_MPEG_VIDEO_ASPECT_4x3;
 	port->encoder_params.refdist = 1;
 	port->encoder_params.gop_size = SAA7164_ENCODER_DEFAULT_GOP_SIZE;
+	port->std = V4L2_STD_NTSC_M;
 
 	if (port->encodernorm.id & V4L2_STD_525_60)
 		port->height = 480;
diff --git a/drivers/media/pci/saa7164/saa7164-vbi.c b/drivers/media/pci/saa7164/saa7164-vbi.c
index da224eb..07c361e 100644
--- a/drivers/media/pci/saa7164/saa7164-vbi.c
+++ b/drivers/media/pci/saa7164/saa7164-vbi.c
@@ -200,6 +200,7 @@ static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id id)
 		return -EINVAL;
 
 	port->encodernorm = saa7164_tvnorms[i];
+	port->std = id;
 
 	/* Update the audio decoder while is not running in
 	 * auto detect mode.
@@ -211,6 +212,15 @@ static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id id)
 	return 0;
 }
 
+static int vidioc_g_std(struct file *file, void *priv, v4l2_std_id *id)
+{
+	struct saa7164_encoder_fh *fh = file->private_data;
+	struct saa7164_port *port = fh->port;
+
+	*id = port->std;
+	return 0;
+}
+
 static int vidioc_enum_input(struct file *file, void *priv,
 	struct v4l2_input *i)
 {
@@ -1236,6 +1246,7 @@ static const struct v4l2_file_operations vbi_fops = {
 
 static const struct v4l2_ioctl_ops vbi_ioctl_ops = {
 	.vidioc_s_std		 = vidioc_s_std,
+	.vidioc_g_std		 = vidioc_g_std,
 	.vidioc_enum_input	 = vidioc_enum_input,
 	.vidioc_g_input		 = vidioc_g_input,
 	.vidioc_s_input		 = vidioc_s_input,
@@ -1274,7 +1285,6 @@ static struct video_device saa7164_vbi_template = {
 	.ioctl_ops     = &vbi_ioctl_ops,
 	.minor         = -1,
 	.tvnorms       = SAA7164_NORMS,
-	.current_norm  = V4L2_STD_NTSC_M,
 };
 
 static struct video_device *saa7164_vbi_alloc(
@@ -1333,6 +1343,7 @@ int saa7164_vbi_register(struct saa7164_port *port)
 		goto failed;
 	}
 
+	port->std = V4L2_STD_NTSC_M;
 	video_set_drvdata(port->v4l_device, port);
 	result = video_register_device(port->v4l_device,
 		VFL_TYPE_VBI, -1);
diff --git a/drivers/media/pci/saa7164/saa7164.h b/drivers/media/pci/saa7164/saa7164.h
index 437284e..a23e7fe 100644
--- a/drivers/media/pci/saa7164/saa7164.h
+++ b/drivers/media/pci/saa7164/saa7164.h
@@ -376,6 +376,7 @@ struct saa7164_port {
 	/* Encoder */
 	/* Defaults established in saa7164-encoder.c */
 	struct saa7164_tvnorm encodernorm;
+	v4l2_std_id std;
 	u32 height;
 	u32 width;
 	u32 freq;
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [RFC PATCH 09/13] cx23885: remove use of deprecated current_norm
  2013-06-03  9:36 [RFC PATCH 00/13] Remove current_norm Hans Verkuil
                   ` (7 preceding siblings ...)
  2013-06-03  9:36 ` [RFC PATCH 08/13] saa7164: replace current_norm by g_std Hans Verkuil
@ 2013-06-03  9:36 ` Hans Verkuil
  2013-06-03  9:36 ` [RFC PATCH 10/13] usbvision: replace current_norm by g_std Hans Verkuil
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 22+ messages in thread
From: Hans Verkuil @ 2013-06-03  9:36 UTC (permalink / raw)
  To: linux-media; +Cc: Hans Verkuil, Steven Toth

From: Hans Verkuil <hans.verkuil@cisco.com>

The use of current_norm can be dropped. The g_std ioctl was already
implemented, so current_norm didn't do anything useful anyway.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Cc: Steven Toth <stoth@kernellabs.com>
---
 drivers/media/pci/cx23885/cx23885-417.c   |    5 +----
 drivers/media/pci/cx23885/cx23885-video.c |    7 ++-----
 2 files changed, 3 insertions(+), 9 deletions(-)

diff --git a/drivers/media/pci/cx23885/cx23885-417.c b/drivers/media/pci/cx23885/cx23885-417.c
index 6dea11a..87c07e5 100644
--- a/drivers/media/pci/cx23885/cx23885-417.c
+++ b/drivers/media/pci/cx23885/cx23885-417.c
@@ -1217,8 +1217,7 @@ static int vidioc_g_std(struct file *file, void *priv, v4l2_std_id *id)
 	struct cx23885_fh  *fh  = file->private_data;
 	struct cx23885_dev *dev = fh->dev;
 
-	call_all(dev, core, g_std, id);
-
+	*id = dev->tvnorm;
 	return 0;
 }
 
@@ -1661,7 +1660,6 @@ static struct v4l2_file_operations mpeg_fops = {
 };
 
 static const struct v4l2_ioctl_ops mpeg_ioctl_ops = {
-	.vidioc_querystd	 = vidioc_g_std,
 	.vidioc_g_std		 = vidioc_g_std,
 	.vidioc_s_std		 = vidioc_s_std,
 	.vidioc_enum_input	 = vidioc_enum_input,
@@ -1702,7 +1700,6 @@ static struct video_device cx23885_mpeg_template = {
 	.fops          = &mpeg_fops,
 	.ioctl_ops     = &mpeg_ioctl_ops,
 	.tvnorms       = CX23885_NORMS,
-	.current_norm  = V4L2_STD_NTSC_M,
 };
 
 void cx23885_417_unregister(struct cx23885_dev *dev)
diff --git a/drivers/media/pci/cx23885/cx23885-video.c b/drivers/media/pci/cx23885/cx23885-video.c
index ed08c89..34512cb 100644
--- a/drivers/media/pci/cx23885/cx23885-video.c
+++ b/drivers/media/pci/cx23885/cx23885-video.c
@@ -1254,8 +1254,7 @@ static int vidioc_g_std(struct file *file, void *priv, v4l2_std_id *id)
 	struct cx23885_dev *dev = ((struct cx23885_fh *)priv)->dev;
 	dprintk(1, "%s()\n", __func__);
 
-	call_all(dev, core, g_std, id);
-
+	*id = dev->tvnorm;
 	return 0;
 }
 
@@ -1743,7 +1742,6 @@ static const struct v4l2_ioctl_ops video_ioctl_ops = {
 	.vidioc_dqbuf         = vidioc_dqbuf,
 	.vidioc_s_std         = vidioc_s_std,
 	.vidioc_g_std         = vidioc_g_std,
-	.vidioc_querystd      = vidioc_g_std,
 	.vidioc_enum_input    = vidioc_enum_input,
 	.vidioc_g_input       = vidioc_g_input,
 	.vidioc_s_input       = vidioc_s_input,
@@ -1773,7 +1771,6 @@ static struct video_device cx23885_video_template = {
 	.fops                 = &video_fops,
 	.ioctl_ops 	      = &video_ioctl_ops,
 	.tvnorms              = CX23885_NORMS,
-	.current_norm         = V4L2_STD_NTSC_M,
 };
 
 static const struct v4l2_file_operations radio_fops = {
@@ -1822,7 +1819,7 @@ int cx23885_video_register(struct cx23885_dev *dev)
 	cx23885_vbi_template = cx23885_video_template;
 	strcpy(cx23885_vbi_template.name, "cx23885-vbi");
 
-	dev->tvnorm = cx23885_video_template.current_norm;
+	dev->tvnorm = V4L2_STD_NTSC_M;
 
 	/* init video dma queues */
 	INIT_LIST_HEAD(&dev->vidq.active);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [RFC PATCH 10/13] usbvision: replace current_norm by g_std.
  2013-06-03  9:36 [RFC PATCH 00/13] Remove current_norm Hans Verkuil
                   ` (8 preceding siblings ...)
  2013-06-03  9:36 ` [RFC PATCH 09/13] cx23885: remove use of deprecated current_norm Hans Verkuil
@ 2013-06-03  9:36 ` Hans Verkuil
  2013-06-03  9:36 ` [RFC PATCH 11/13] saa7134: drop deprecated current_norm Hans Verkuil
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 22+ messages in thread
From: Hans Verkuil @ 2013-06-03  9:36 UTC (permalink / raw)
  To: linux-media; +Cc: Hans Verkuil

From: Hans Verkuil <hans.verkuil@cisco.com>

current_norm use is deprecated because it is per-devicenode and if you
have more device nodes all dependent on the same video source, then this
no longer works. Just implement g_std instead.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
---
 drivers/media/usb/usbvision/usbvision-video.c |   13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/drivers/media/usb/usbvision/usbvision-video.c b/drivers/media/usb/usbvision/usbvision-video.c
index d34c2af..7ad872a 100644
--- a/drivers/media/usb/usbvision/usbvision-video.c
+++ b/drivers/media/usb/usbvision/usbvision-video.c
@@ -608,6 +608,14 @@ static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id id)
 	return 0;
 }
 
+static int vidioc_g_std(struct file *file, void *priv, v4l2_std_id *id)
+{
+	struct usb_usbvision *usbvision = video_drvdata(file);
+
+	*id = usbvision->tvnorm_id;
+	return 0;
+}
+
 static int vidioc_g_tuner(struct file *file, void *priv,
 				struct v4l2_tuner *vt)
 {
@@ -1248,6 +1256,7 @@ static const struct v4l2_ioctl_ops usbvision_ioctl_ops = {
 	.vidioc_qbuf          = vidioc_qbuf,
 	.vidioc_dqbuf         = vidioc_dqbuf,
 	.vidioc_s_std         = vidioc_s_std,
+	.vidioc_g_std         = vidioc_g_std,
 	.vidioc_enum_input    = vidioc_enum_input,
 	.vidioc_g_input       = vidioc_g_input,
 	.vidioc_s_input       = vidioc_s_input,
@@ -1274,7 +1283,6 @@ static struct video_device usbvision_video_template = {
 	.name           = "usbvision-video",
 	.release	= video_device_release,
 	.tvnorms        = USBVISION_NORMS,
-	.current_norm   = V4L2_STD_PAL
 };
 
 
@@ -1307,9 +1315,6 @@ static struct video_device usbvision_radio_template = {
 	.name		= "usbvision-radio",
 	.release	= video_device_release,
 	.ioctl_ops	= &usbvision_radio_ioctl_ops,
-
-	.tvnorms              = USBVISION_NORMS,
-	.current_norm         = V4L2_STD_PAL
 };
 
 
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [RFC PATCH 11/13] saa7134: drop deprecated current_norm.
  2013-06-03  9:36 [RFC PATCH 00/13] Remove current_norm Hans Verkuil
                   ` (9 preceding siblings ...)
  2013-06-03  9:36 ` [RFC PATCH 10/13] usbvision: replace current_norm by g_std Hans Verkuil
@ 2013-06-03  9:36 ` Hans Verkuil
  2013-06-03  9:36 ` [RFC PATCH 12/13] dt3155v4l: remove " Hans Verkuil
  2013-06-03  9:36 ` [RFC PATCH 13/13] v4l2: remove deprecated current_norm support completely Hans Verkuil
  12 siblings, 0 replies; 22+ messages in thread
From: Hans Verkuil @ 2013-06-03  9:36 UTC (permalink / raw)
  To: linux-media; +Cc: Hans Verkuil

From: Hans Verkuil <hans.verkuil@cisco.com>

Since this driver properly implements g_std, the current_norm field is
actually unused anyway.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
---
 drivers/media/pci/saa7134/saa7134-empress.c |    1 -
 drivers/media/pci/saa7134/saa7134-video.c   |    1 -
 2 files changed, 2 deletions(-)

diff --git a/drivers/media/pci/saa7134/saa7134-empress.c b/drivers/media/pci/saa7134/saa7134-empress.c
index 66a7081..826524b 100644
--- a/drivers/media/pci/saa7134/saa7134-empress.c
+++ b/drivers/media/pci/saa7134/saa7134-empress.c
@@ -488,7 +488,6 @@ static struct video_device saa7134_empress_template = {
 	.ioctl_ops     = &ts_ioctl_ops,
 
 	.tvnorms			= SAA7134_NORMS,
-	.current_norm			= V4L2_STD_PAL,
 };
 
 static void empress_signal_update(struct work_struct *work)
diff --git a/drivers/media/pci/saa7134/saa7134-video.c b/drivers/media/pci/saa7134/saa7134-video.c
index cc40938..4dae794 100644
--- a/drivers/media/pci/saa7134/saa7134-video.c
+++ b/drivers/media/pci/saa7134/saa7134-video.c
@@ -2443,7 +2443,6 @@ struct video_device saa7134_video_template = {
 	.fops				= &video_fops,
 	.ioctl_ops 			= &video_ioctl_ops,
 	.tvnorms			= SAA7134_NORMS,
-	.current_norm			= V4L2_STD_PAL,
 };
 
 struct video_device saa7134_radio_template = {
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [RFC PATCH 12/13] dt3155v4l: remove deprecated current_norm
  2013-06-03  9:36 [RFC PATCH 00/13] Remove current_norm Hans Verkuil
                   ` (10 preceding siblings ...)
  2013-06-03  9:36 ` [RFC PATCH 11/13] saa7134: drop deprecated current_norm Hans Verkuil
@ 2013-06-03  9:36 ` Hans Verkuil
  2013-06-03  9:36 ` [RFC PATCH 13/13] v4l2: remove deprecated current_norm support completely Hans Verkuil
  12 siblings, 0 replies; 22+ messages in thread
From: Hans Verkuil @ 2013-06-03  9:36 UTC (permalink / raw)
  To: linux-media; +Cc: Hans Verkuil

From: Hans Verkuil <hans.verkuil@cisco.com>

Since this driver provides a g_std op the current_norm field isn't used
anyway, so just drop it.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
---
 drivers/staging/media/dt3155v4l/dt3155v4l.c |    1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/staging/media/dt3155v4l/dt3155v4l.c b/drivers/staging/media/dt3155v4l/dt3155v4l.c
index c32e0ac..90d6ac4 100644
--- a/drivers/staging/media/dt3155v4l/dt3155v4l.c
+++ b/drivers/staging/media/dt3155v4l/dt3155v4l.c
@@ -829,7 +829,6 @@ static struct video_device dt3155_vdev = {
 	.minor = -1,
 	.release = video_device_release,
 	.tvnorms = DT3155_CURRENT_NORM,
-	.current_norm = DT3155_CURRENT_NORM,
 };
 
 /* same as in drivers/base/dma-coherent.c */
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [RFC PATCH 13/13] v4l2: remove deprecated current_norm support completely.
  2013-06-03  9:36 [RFC PATCH 00/13] Remove current_norm Hans Verkuil
                   ` (11 preceding siblings ...)
  2013-06-03  9:36 ` [RFC PATCH 12/13] dt3155v4l: remove " Hans Verkuil
@ 2013-06-03  9:36 ` Hans Verkuil
  12 siblings, 0 replies; 22+ messages in thread
From: Hans Verkuil @ 2013-06-03  9:36 UTC (permalink / raw)
  To: linux-media; +Cc: Hans Verkuil

From: Hans Verkuil <hans.verkuil@cisco.com>

The use of current_norm to keep track of the current standard has been
deprecated for quite some time. Now that all drivers that were using it
have been converted to use g_std we can drop it from the core.

It was a bad idea to introduce this at the time: since it is a per-device
node field it didn't work for drivers that create multiple nodes, all sharing
the same tuner (e.g. video and vbi nodes, or a raw video node and a compressed
video node). In addition it was very surprising behavior that g_std was
implemented in the core. Often drivers implemented both g_std and current_norm,
because they didn't understand how it should be used.

Since the benefits were very limited (if they were there at all), it is better
to just drop it and require that drivers just implement g_std.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
---
 drivers/media/v4l2-core/v4l2-dev.c   |    5 ++---
 drivers/media/v4l2-core/v4l2-ioctl.c |   34 ++++------------------------------
 include/media/v4l2-dev.h             |    1 -
 3 files changed, 6 insertions(+), 34 deletions(-)

diff --git a/drivers/media/v4l2-core/v4l2-dev.c b/drivers/media/v4l2-core/v4l2-dev.c
index 5923c5d..2f3fac5 100644
--- a/drivers/media/v4l2-core/v4l2-dev.c
+++ b/drivers/media/v4l2-core/v4l2-dev.c
@@ -675,9 +675,8 @@ static void determine_valid_ioctls(struct video_device *vdev)
 		SET_VALID_IOCTL(ops, VIDIOC_PREPARE_BUF, vidioc_prepare_buf);
 		if (ops->vidioc_s_std)
 			set_bit(_IOC_NR(VIDIOC_ENUMSTD), valid_ioctls);
-		if (ops->vidioc_g_std || vdev->current_norm)
-			set_bit(_IOC_NR(VIDIOC_G_STD), valid_ioctls);
 		SET_VALID_IOCTL(ops, VIDIOC_S_STD, vidioc_s_std);
+		SET_VALID_IOCTL(ops, VIDIOC_G_STD, vidioc_g_std);
 		if (is_rx) {
 			SET_VALID_IOCTL(ops, VIDIOC_QUERYSTD, vidioc_querystd);
 			SET_VALID_IOCTL(ops, VIDIOC_ENUMINPUT, vidioc_enum_input);
@@ -705,7 +704,7 @@ static void determine_valid_ioctls(struct video_device *vdev)
 		if (ops->vidioc_cropcap || ops->vidioc_g_selection)
 			set_bit(_IOC_NR(VIDIOC_CROPCAP), valid_ioctls);
 		if (ops->vidioc_g_parm || (vdev->vfl_type == VFL_TYPE_GRABBER &&
-					(ops->vidioc_g_std || vdev->current_norm)))
+					ops->vidioc_g_std))
 			set_bit(_IOC_NR(VIDIOC_G_PARM), valid_ioctls);
 		SET_VALID_IOCTL(ops, VIDIOC_S_PARM, vidioc_s_parm);
 		SET_VALID_IOCTL(ops, VIDIOC_S_DV_TIMINGS, vidioc_s_dv_timings);
diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c
index f81bda1..fd0f112 100644
--- a/drivers/media/v4l2-core/v4l2-ioctl.c
+++ b/drivers/media/v4l2-core/v4l2-ioctl.c
@@ -1364,40 +1364,18 @@ static int v4l_enumstd(const struct v4l2_ioctl_ops *ops,
 	return 0;
 }
 
-static int v4l_g_std(const struct v4l2_ioctl_ops *ops,
-				struct file *file, void *fh, void *arg)
-{
-	struct video_device *vfd = video_devdata(file);
-	v4l2_std_id *id = arg;
-
-	/* Calls the specific handler */
-	if (ops->vidioc_g_std)
-		return ops->vidioc_g_std(file, fh, arg);
-	if (vfd->current_norm) {
-		*id = vfd->current_norm;
-		return 0;
-	}
-	return -ENOTTY;
-}
-
 static int v4l_s_std(const struct v4l2_ioctl_ops *ops,
 				struct file *file, void *fh, void *arg)
 {
 	struct video_device *vfd = video_devdata(file);
 	v4l2_std_id id = *(v4l2_std_id *)arg, norm;
-	int ret;
 
 	norm = id & vfd->tvnorms;
 	if (vfd->tvnorms && !norm)	/* Check if std is supported */
 		return -EINVAL;
 
 	/* Calls the specific handler */
-	ret = ops->vidioc_s_std(file, fh, norm);
-
-	/* Updates standard information */
-	if (ret >= 0)
-		vfd->current_norm = norm;
-	return ret;
+	return ops->vidioc_s_std(file, fh, norm);
 }
 
 static int v4l_querystd(const struct v4l2_ioctl_ops *ops,
@@ -1500,7 +1478,6 @@ static int v4l_prepare_buf(const struct v4l2_ioctl_ops *ops,
 static int v4l_g_parm(const struct v4l2_ioctl_ops *ops,
 				struct file *file, void *fh, void *arg)
 {
-	struct video_device *vfd = video_devdata(file);
 	struct v4l2_streamparm *p = arg;
 	v4l2_std_id std;
 	int ret = check_fmt(file, p->type);
@@ -1509,16 +1486,13 @@ static int v4l_g_parm(const struct v4l2_ioctl_ops *ops,
 		return ret;
 	if (ops->vidioc_g_parm)
 		return ops->vidioc_g_parm(file, fh, p);
-	std = vfd->current_norm;
 	if (p->type != V4L2_BUF_TYPE_VIDEO_CAPTURE &&
 	    p->type != V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE)
 		return -EINVAL;
 	p->parm.capture.readbuffers = 2;
-	if (is_valid_ioctl(vfd, VIDIOC_G_STD) && ops->vidioc_g_std)
-		ret = ops->vidioc_g_std(file, fh, &std);
+	ret = ops->vidioc_g_std(file, fh, &std);
 	if (ret == 0)
-		v4l2_video_std_frame_period(std,
-			    &p->parm.capture.timeperframe);
+		v4l2_video_std_frame_period(std, &p->parm.capture.timeperframe);
 	return ret;
 }
 
@@ -2053,7 +2027,7 @@ static struct v4l2_ioctl_info v4l2_ioctls[] = {
 	IOCTL_INFO_FNC(VIDIOC_STREAMOFF, v4l_streamoff, v4l_print_buftype, INFO_FL_PRIO | INFO_FL_QUEUE),
 	IOCTL_INFO_FNC(VIDIOC_G_PARM, v4l_g_parm, v4l_print_streamparm, INFO_FL_CLEAR(v4l2_streamparm, type)),
 	IOCTL_INFO_FNC(VIDIOC_S_PARM, v4l_s_parm, v4l_print_streamparm, INFO_FL_PRIO),
-	IOCTL_INFO_FNC(VIDIOC_G_STD, v4l_g_std, v4l_print_std, 0),
+	IOCTL_INFO_STD(VIDIOC_G_STD, vidioc_g_std, v4l_print_std, 0),
 	IOCTL_INFO_FNC(VIDIOC_S_STD, v4l_s_std, v4l_print_std, INFO_FL_PRIO),
 	IOCTL_INFO_FNC(VIDIOC_ENUMSTD, v4l_enumstd, v4l_print_standard, INFO_FL_CLEAR(v4l2_standard, index)),
 	IOCTL_INFO_FNC(VIDIOC_ENUMINPUT, v4l_enuminput, v4l_print_enuminput, INFO_FL_CLEAR(v4l2_input, index)),
diff --git a/include/media/v4l2-dev.h b/include/media/v4l2-dev.h
index 95d1c91..b2c3776 100644
--- a/include/media/v4l2-dev.h
+++ b/include/media/v4l2-dev.h
@@ -129,7 +129,6 @@ struct video_device
 
 	/* Video standard vars */
 	v4l2_std_id tvnorms;		/* Supported tv norms */
-	v4l2_std_id current_norm;	/* Current tvnorm */
 
 	/* callbacks */
 	void (*release)(struct video_device *vdev);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* Re: [RFC PATCH 05/13] soc_camera: replace vdev->parent by vdev->v4l2_dev.
  2013-06-03  9:36 ` [RFC PATCH 05/13] soc_camera: replace vdev->parent by vdev->v4l2_dev Hans Verkuil
@ 2013-06-07  9:33   ` Guennadi Liakhovetski
  2013-06-07  9:41     ` Hans Verkuil
  0 siblings, 1 reply; 22+ messages in thread
From: Guennadi Liakhovetski @ 2013-06-07  9:33 UTC (permalink / raw)
  To: Hans Verkuil; +Cc: linux-media, Hans Verkuil

On Mon, 3 Jun 2013, Hans Verkuil wrote:

> From: Hans Verkuil <hans.verkuil@cisco.com>
> 
> The parent field will eventually disappear to be replaced by v4l2_dev.
> soc_camera does provide a v4l2_device struct but did not point to it in
> struct video_device. This is now fixed.
> 
> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
> Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
> ---
>  drivers/media/platform/soc_camera/soc_camera.c |    4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/media/platform/soc_camera/soc_camera.c b/drivers/media/platform/soc_camera/soc_camera.c
> index 96645e9..ea951ec 100644
> --- a/drivers/media/platform/soc_camera/soc_camera.c
> +++ b/drivers/media/platform/soc_camera/soc_camera.c
> @@ -524,7 +524,7 @@ static int soc_camera_open(struct file *file)
>  		return -ENODEV;
>  	}
>  
> -	icd = dev_get_drvdata(vdev->parent);
> +	icd = dev_get_drvdata(vdev->v4l2_dev->dev);
>  	ici = to_soc_camera_host(icd->parent);
>  
>  	ret = try_module_get(ici->ops->owner) ? 0 : -ENODEV;
> @@ -1511,7 +1511,7 @@ static int video_dev_create(struct soc_camera_device *icd)
>  
>  	strlcpy(vdev->name, ici->drv_name, sizeof(vdev->name));
>  
> -	vdev->parent		= icd->pdev;
> +	vdev->v4l2_dev		= &ici->v4l2_dev;
>  	vdev->fops		= &soc_camera_fops;
>  	vdev->ioctl_ops		= &soc_camera_ioctl_ops;
>  	vdev->release		= video_device_release;

Doesn't it break soc-camera?... I think those are 2 absolutely different 
devices, so, you're not getting icd from 
dev_get_drvdata(vdev->v4l2_dev->dev).

Thanks
Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [RFC PATCH 03/13] sh_vou: remove current_norm
  2013-06-03  9:36 ` [RFC PATCH 03/13] sh_vou: remove current_norm Hans Verkuil
@ 2013-06-07  9:36   ` Guennadi Liakhovetski
  0 siblings, 0 replies; 22+ messages in thread
From: Guennadi Liakhovetski @ 2013-06-07  9:36 UTC (permalink / raw)
  To: Hans Verkuil; +Cc: linux-media, Hans Verkuil

Hi Hans

On Mon, 3 Jun 2013, Hans Verkuil wrote:

> From: Hans Verkuil <hans.verkuil@cisco.com>
> 
> The current_norm field is deprecated and is replaced by g_std. This driver
> already implements g_std, so just remove current_norm.
> 
> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
> Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de>

Would you like to pull this via your tree? In that case

Acked-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>

Otherwise I can easily take it via mine.

Thanks
Guennadi

> ---
>  drivers/media/platform/sh_vou.c |    3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/media/platform/sh_vou.c b/drivers/media/platform/sh_vou.c
> index 7d02350..84625fa 100644
> --- a/drivers/media/platform/sh_vou.c
> +++ b/drivers/media/platform/sh_vou.c
> @@ -1313,7 +1313,6 @@ static const struct video_device sh_vou_video_template = {
>  	.fops		= &sh_vou_fops,
>  	.ioctl_ops	= &sh_vou_ioctl_ops,
>  	.tvnorms	= V4L2_STD_525_60, /* PAL only supported in 8-bit non-bt656 mode */
> -	.current_norm	= V4L2_STD_NTSC_M,
>  	.vfl_dir	= VFL_DIR_TX,
>  };
>  
> @@ -1352,7 +1351,7 @@ static int sh_vou_probe(struct platform_device *pdev)
>  	pix = &vou_dev->pix;
>  
>  	/* Fill in defaults */
> -	vou_dev->std		= sh_vou_video_template.current_norm;
> +	vou_dev->std		= V4L2_STD_NTSC_M;
>  	rect->left		= 0;
>  	rect->top		= 0;
>  	rect->width		= VOU_MAX_IMAGE_WIDTH;
> -- 
> 1.7.10.4
> 

---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [RFC PATCH 04/13] soc_camera: remove use of current_norm.
  2013-06-03  9:36 ` [RFC PATCH 04/13] soc_camera: remove use of current_norm Hans Verkuil
@ 2013-06-07  9:36   ` Guennadi Liakhovetski
  2013-06-07  9:48     ` Hans Verkuil
  0 siblings, 1 reply; 22+ messages in thread
From: Guennadi Liakhovetski @ 2013-06-07  9:36 UTC (permalink / raw)
  To: Hans Verkuil; +Cc: linux-media, Hans Verkuil

Hi Hans

On Mon, 3 Jun 2013, Hans Verkuil wrote:

> From: Hans Verkuil <hans.verkuil@cisco.com>
> 
> The current_norm field is deprecated, so don't set it. Since it is set to
> V4L2_STD_UNKNOWN which is 0 it didn't do anything anyway.
> 
> Also remove a few other unnecessary uses of V4L2_STD_UNKNOWN.
> 
> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
> Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de>

I'd rather take this via my tree to avoid any conflicts, is this ok with 
you?

Thanks
Guennadi

> ---
>  drivers/media/platform/soc_camera/soc_camera.c |    3 ---
>  1 file changed, 3 deletions(-)
> 
> diff --git a/drivers/media/platform/soc_camera/soc_camera.c b/drivers/media/platform/soc_camera/soc_camera.c
> index eea832c..96645e9 100644
> --- a/drivers/media/platform/soc_camera/soc_camera.c
> +++ b/drivers/media/platform/soc_camera/soc_camera.c
> @@ -235,7 +235,6 @@ static int soc_camera_enum_input(struct file *file, void *priv,
>  
>  	/* default is camera */
>  	inp->type = V4L2_INPUT_TYPE_CAMERA;
> -	inp->std  = V4L2_STD_UNKNOWN;
>  	strcpy(inp->name, "Camera");
>  
>  	return 0;
> @@ -1513,11 +1512,9 @@ static int video_dev_create(struct soc_camera_device *icd)
>  	strlcpy(vdev->name, ici->drv_name, sizeof(vdev->name));
>  
>  	vdev->parent		= icd->pdev;
> -	vdev->current_norm	= V4L2_STD_UNKNOWN;
>  	vdev->fops		= &soc_camera_fops;
>  	vdev->ioctl_ops		= &soc_camera_ioctl_ops;
>  	vdev->release		= video_device_release;
> -	vdev->tvnorms		= V4L2_STD_UNKNOWN;
>  	vdev->ctrl_handler	= &icd->ctrl_handler;
>  	vdev->lock		= &ici->host_lock;
>  
> -- 
> 1.7.10.4
> 

---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [RFC PATCH 05/13] soc_camera: replace vdev->parent by vdev->v4l2_dev.
  2013-06-07  9:33   ` Guennadi Liakhovetski
@ 2013-06-07  9:41     ` Hans Verkuil
  2013-06-07 10:29       ` Hans Verkuil
  0 siblings, 1 reply; 22+ messages in thread
From: Hans Verkuil @ 2013-06-07  9:41 UTC (permalink / raw)
  To: Guennadi Liakhovetski; +Cc: linux-media, Hans Verkuil

On Fri June 7 2013 11:33:16 Guennadi Liakhovetski wrote:
> On Mon, 3 Jun 2013, Hans Verkuil wrote:
> 
> > From: Hans Verkuil <hans.verkuil@cisco.com>
> > 
> > The parent field will eventually disappear to be replaced by v4l2_dev.
> > soc_camera does provide a v4l2_device struct but did not point to it in
> > struct video_device. This is now fixed.
> > 
> > Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
> > Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
> > ---
> >  drivers/media/platform/soc_camera/soc_camera.c |    4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/media/platform/soc_camera/soc_camera.c b/drivers/media/platform/soc_camera/soc_camera.c
> > index 96645e9..ea951ec 100644
> > --- a/drivers/media/platform/soc_camera/soc_camera.c
> > +++ b/drivers/media/platform/soc_camera/soc_camera.c
> > @@ -524,7 +524,7 @@ static int soc_camera_open(struct file *file)
> >  		return -ENODEV;
> >  	}
> >  
> > -	icd = dev_get_drvdata(vdev->parent);
> > +	icd = dev_get_drvdata(vdev->v4l2_dev->dev);
> >  	ici = to_soc_camera_host(icd->parent);
> >  
> >  	ret = try_module_get(ici->ops->owner) ? 0 : -ENODEV;
> > @@ -1511,7 +1511,7 @@ static int video_dev_create(struct soc_camera_device *icd)
> >  
> >  	strlcpy(vdev->name, ici->drv_name, sizeof(vdev->name));
> >  
> > -	vdev->parent		= icd->pdev;
> > +	vdev->v4l2_dev		= &ici->v4l2_dev;
> >  	vdev->fops		= &soc_camera_fops;
> >  	vdev->ioctl_ops		= &soc_camera_ioctl_ops;
> >  	vdev->release		= video_device_release;
> 
> Doesn't it break soc-camera?... I think those are 2 absolutely different 
> devices, so, you're not getting icd from 
> dev_get_drvdata(vdev->v4l2_dev->dev).

I'm looking into this today. I managed to get my renesas board up and running
again yesterday, so I have a decent soc-camera test environment.

This was the one patch that I wasn't sure about, so it definitely needs more
analysis. I'll remove it from the patch series anyway, since it is unrelated
to the current_norm changes.

Regards,

	Hans

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [RFC PATCH 04/13] soc_camera: remove use of current_norm.
  2013-06-07  9:36   ` Guennadi Liakhovetski
@ 2013-06-07  9:48     ` Hans Verkuil
  2013-06-07  9:52       ` Guennadi Liakhovetski
  0 siblings, 1 reply; 22+ messages in thread
From: Hans Verkuil @ 2013-06-07  9:48 UTC (permalink / raw)
  To: Guennadi Liakhovetski; +Cc: linux-media, Hans Verkuil

On Fri June 7 2013 11:36:57 Guennadi Liakhovetski wrote:
> Hi Hans
> 
> On Mon, 3 Jun 2013, Hans Verkuil wrote:
> 
> > From: Hans Verkuil <hans.verkuil@cisco.com>
> > 
> > The current_norm field is deprecated, so don't set it. Since it is set to
> > V4L2_STD_UNKNOWN which is 0 it didn't do anything anyway.
> > 
> > Also remove a few other unnecessary uses of V4L2_STD_UNKNOWN.
> > 
> > Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
> > Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
> 
> I'd rather take this via my tree to avoid any conflicts, is this ok with 
> you?

Ideally I would like to take this in myself since the last patch of the series
removes current_norm support entirely. If you take it, then I have to leave off
the last patch until both our trees are merged.

If you still prefer to take it yourself, then let me know and I'll leave this
patch and the last patch out when I merge it.

Regards,

	Hans

> 
> Thanks
> Guennadi
> 
> > ---
> >  drivers/media/platform/soc_camera/soc_camera.c |    3 ---
> >  1 file changed, 3 deletions(-)
> > 
> > diff --git a/drivers/media/platform/soc_camera/soc_camera.c b/drivers/media/platform/soc_camera/soc_camera.c
> > index eea832c..96645e9 100644
> > --- a/drivers/media/platform/soc_camera/soc_camera.c
> > +++ b/drivers/media/platform/soc_camera/soc_camera.c
> > @@ -235,7 +235,6 @@ static int soc_camera_enum_input(struct file *file, void *priv,
> >  
> >  	/* default is camera */
> >  	inp->type = V4L2_INPUT_TYPE_CAMERA;
> > -	inp->std  = V4L2_STD_UNKNOWN;
> >  	strcpy(inp->name, "Camera");
> >  
> >  	return 0;
> > @@ -1513,11 +1512,9 @@ static int video_dev_create(struct soc_camera_device *icd)
> >  	strlcpy(vdev->name, ici->drv_name, sizeof(vdev->name));
> >  
> >  	vdev->parent		= icd->pdev;
> > -	vdev->current_norm	= V4L2_STD_UNKNOWN;
> >  	vdev->fops		= &soc_camera_fops;
> >  	vdev->ioctl_ops		= &soc_camera_ioctl_ops;
> >  	vdev->release		= video_device_release;
> > -	vdev->tvnorms		= V4L2_STD_UNKNOWN;
> >  	vdev->ctrl_handler	= &icd->ctrl_handler;
> >  	vdev->lock		= &ici->host_lock;
> >  
> 
> ---
> Guennadi Liakhovetski, Ph.D.
> Freelance Open-Source Software Developer
> http://www.open-technology.de/
> 

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [RFC PATCH 04/13] soc_camera: remove use of current_norm.
  2013-06-07  9:48     ` Hans Verkuil
@ 2013-06-07  9:52       ` Guennadi Liakhovetski
  0 siblings, 0 replies; 22+ messages in thread
From: Guennadi Liakhovetski @ 2013-06-07  9:52 UTC (permalink / raw)
  To: Hans Verkuil; +Cc: linux-media, Hans Verkuil

On Fri, 7 Jun 2013, Hans Verkuil wrote:

> On Fri June 7 2013 11:36:57 Guennadi Liakhovetski wrote:
> > Hi Hans
> > 
> > On Mon, 3 Jun 2013, Hans Verkuil wrote:
> > 
> > > From: Hans Verkuil <hans.verkuil@cisco.com>
> > > 
> > > The current_norm field is deprecated, so don't set it. Since it is set to
> > > V4L2_STD_UNKNOWN which is 0 it didn't do anything anyway.
> > > 
> > > Also remove a few other unnecessary uses of V4L2_STD_UNKNOWN.
> > > 
> > > Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
> > > Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
> > 
> > I'd rather take this via my tree to avoid any conflicts, is this ok with 
> > you?
> 
> Ideally I would like to take this in myself since the last patch of the series
> removes current_norm support entirely. If you take it, then I have to leave off
> the last patch until both our trees are merged.
> 
> If you still prefer to take it yourself, then let me know and I'll leave this
> patch and the last patch out when I merge it.

Ok, take it via your tree, we'll resolve any conflicts afterwards.

Acked-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>

Thanks
Guennadi

> 
> Regards,
> 
> 	Hans
> 
> > 
> > Thanks
> > Guennadi
> > 
> > > ---
> > >  drivers/media/platform/soc_camera/soc_camera.c |    3 ---
> > >  1 file changed, 3 deletions(-)
> > > 
> > > diff --git a/drivers/media/platform/soc_camera/soc_camera.c b/drivers/media/platform/soc_camera/soc_camera.c
> > > index eea832c..96645e9 100644
> > > --- a/drivers/media/platform/soc_camera/soc_camera.c
> > > +++ b/drivers/media/platform/soc_camera/soc_camera.c
> > > @@ -235,7 +235,6 @@ static int soc_camera_enum_input(struct file *file, void *priv,
> > >  
> > >  	/* default is camera */
> > >  	inp->type = V4L2_INPUT_TYPE_CAMERA;
> > > -	inp->std  = V4L2_STD_UNKNOWN;
> > >  	strcpy(inp->name, "Camera");
> > >  
> > >  	return 0;
> > > @@ -1513,11 +1512,9 @@ static int video_dev_create(struct soc_camera_device *icd)
> > >  	strlcpy(vdev->name, ici->drv_name, sizeof(vdev->name));
> > >  
> > >  	vdev->parent		= icd->pdev;
> > > -	vdev->current_norm	= V4L2_STD_UNKNOWN;
> > >  	vdev->fops		= &soc_camera_fops;
> > >  	vdev->ioctl_ops		= &soc_camera_ioctl_ops;
> > >  	vdev->release		= video_device_release;
> > > -	vdev->tvnorms		= V4L2_STD_UNKNOWN;
> > >  	vdev->ctrl_handler	= &icd->ctrl_handler;
> > >  	vdev->lock		= &ici->host_lock;
> > >  
> > 
> > ---
> > Guennadi Liakhovetski, Ph.D.
> > Freelance Open-Source Software Developer
> > http://www.open-technology.de/
> > 
> 

---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [RFC PATCH 05/13] soc_camera: replace vdev->parent by vdev->v4l2_dev.
  2013-06-07  9:41     ` Hans Verkuil
@ 2013-06-07 10:29       ` Hans Verkuil
  2013-06-07 10:49         ` Guennadi Liakhovetski
  0 siblings, 1 reply; 22+ messages in thread
From: Hans Verkuil @ 2013-06-07 10:29 UTC (permalink / raw)
  To: Guennadi Liakhovetski; +Cc: linux-media, Hans Verkuil

On Fri June 7 2013 11:41:30 Hans Verkuil wrote:
> On Fri June 7 2013 11:33:16 Guennadi Liakhovetski wrote:
> > On Mon, 3 Jun 2013, Hans Verkuil wrote:
> > 
> > > From: Hans Verkuil <hans.verkuil@cisco.com>
> > > 
> > > The parent field will eventually disappear to be replaced by v4l2_dev.
> > > soc_camera does provide a v4l2_device struct but did not point to it in
> > > struct video_device. This is now fixed.
> > > 
> > > Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
> > > Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
> > > ---
> > >  drivers/media/platform/soc_camera/soc_camera.c |    4 ++--
> > >  1 file changed, 2 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/drivers/media/platform/soc_camera/soc_camera.c b/drivers/media/platform/soc_camera/soc_camera.c
> > > index 96645e9..ea951ec 100644
> > > --- a/drivers/media/platform/soc_camera/soc_camera.c
> > > +++ b/drivers/media/platform/soc_camera/soc_camera.c
> > > @@ -524,7 +524,7 @@ static int soc_camera_open(struct file *file)
> > >  		return -ENODEV;
> > >  	}
> > >  
> > > -	icd = dev_get_drvdata(vdev->parent);
> > > +	icd = dev_get_drvdata(vdev->v4l2_dev->dev);
> > >  	ici = to_soc_camera_host(icd->parent);
> > >  
> > >  	ret = try_module_get(ici->ops->owner) ? 0 : -ENODEV;
> > > @@ -1511,7 +1511,7 @@ static int video_dev_create(struct soc_camera_device *icd)
> > >  
> > >  	strlcpy(vdev->name, ici->drv_name, sizeof(vdev->name));
> > >  
> > > -	vdev->parent		= icd->pdev;
> > > +	vdev->v4l2_dev		= &ici->v4l2_dev;
> > >  	vdev->fops		= &soc_camera_fops;
> > >  	vdev->ioctl_ops		= &soc_camera_ioctl_ops;
> > >  	vdev->release		= video_device_release;
> > 
> > Doesn't it break soc-camera?... I think those are 2 absolutely different 
> > devices, so, you're not getting icd from 
> > dev_get_drvdata(vdev->v4l2_dev->dev).
> 
> I'm looking into this today. I managed to get my renesas board up and running
> again yesterday, so I have a decent soc-camera test environment.
> 
> This was the one patch that I wasn't sure about, so it definitely needs more
> analysis. I'll remove it from the patch series anyway, since it is unrelated
> to the current_norm changes.

Yes, it breaks soc_camera. I have a proper fix for this, but I'm postponing
this.

Stupid question perhaps, but why is soc_camera_device a platform_device?
It's weird. The camera host device is definitely a platform_device, and
the video nodes are childs of that platform_device, but soc_camera_device
doesn't map to any hardware.

Regards,

	Hans

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [RFC PATCH 05/13] soc_camera: replace vdev->parent by vdev->v4l2_dev.
  2013-06-07 10:29       ` Hans Verkuil
@ 2013-06-07 10:49         ` Guennadi Liakhovetski
  0 siblings, 0 replies; 22+ messages in thread
From: Guennadi Liakhovetski @ 2013-06-07 10:49 UTC (permalink / raw)
  To: Hans Verkuil; +Cc: linux-media, Hans Verkuil

On Fri, 7 Jun 2013, Hans Verkuil wrote:

> Stupid question perhaps, but why is soc_camera_device a platform_device?

Partially that's historic.

> It's weird. The camera host device is definitely a platform_device, and
> the video nodes are childs of that platform_device, but soc_camera_device
> doesn't map to any hardware.

Using platform devices for camera sensors etc. is a way to inform the 
soc-camera core about them. Soc-camera core registers a platform driver, 
which probes those devices, and then, once soc-camera hosts register with 
the soc-camera core, they are matched against those platform devices. Yes, 
this could also be done differently - hosts could just pass lists of 
respective camera sensor descriptors, but soc-camera is currently using a 
different approach. This anyway is going to disappear once we convert to 
asynchronous probing...

Thanks
Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2013-06-07 10:50 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-06-03  9:36 [RFC PATCH 00/13] Remove current_norm Hans Verkuil
2013-06-03  9:36 ` [RFC PATCH 01/13] mcam-core: replace current_norm by g_std Hans Verkuil
2013-06-03  9:36 ` [RFC PATCH 02/13] via-camera: " Hans Verkuil
2013-06-03  9:36 ` [RFC PATCH 03/13] sh_vou: remove current_norm Hans Verkuil
2013-06-07  9:36   ` Guennadi Liakhovetski
2013-06-03  9:36 ` [RFC PATCH 04/13] soc_camera: remove use of current_norm Hans Verkuil
2013-06-07  9:36   ` Guennadi Liakhovetski
2013-06-07  9:48     ` Hans Verkuil
2013-06-07  9:52       ` Guennadi Liakhovetski
2013-06-03  9:36 ` [RFC PATCH 05/13] soc_camera: replace vdev->parent by vdev->v4l2_dev Hans Verkuil
2013-06-07  9:33   ` Guennadi Liakhovetski
2013-06-07  9:41     ` Hans Verkuil
2013-06-07 10:29       ` Hans Verkuil
2013-06-07 10:49         ` Guennadi Liakhovetski
2013-06-03  9:36 ` [RFC PATCH 06/13] fsl-viu: remove current_norm Hans Verkuil
2013-06-03  9:36 ` [RFC PATCH 07/13] tm6000: remove deprecated current_norm Hans Verkuil
2013-06-03  9:36 ` [RFC PATCH 08/13] saa7164: replace current_norm by g_std Hans Verkuil
2013-06-03  9:36 ` [RFC PATCH 09/13] cx23885: remove use of deprecated current_norm Hans Verkuil
2013-06-03  9:36 ` [RFC PATCH 10/13] usbvision: replace current_norm by g_std Hans Verkuil
2013-06-03  9:36 ` [RFC PATCH 11/13] saa7134: drop deprecated current_norm Hans Verkuil
2013-06-03  9:36 ` [RFC PATCH 12/13] dt3155v4l: remove " Hans Verkuil
2013-06-03  9:36 ` [RFC PATCH 13/13] v4l2: remove deprecated current_norm support completely Hans Verkuil

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).