All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC v2 00/27]  New ioct VIDIOC_G_DEF_EXT_CTRLS
@ 2015-06-12 13:11 Ricardo Ribalda Delgado
  2015-06-12 13:11 ` [RFC v2 01/27] media/v4l2-core: Add argument def_value to g_ext_ctrl Ricardo Ribalda Delgado
                   ` (27 more replies)
  0 siblings, 28 replies; 32+ messages in thread
From: Ricardo Ribalda Delgado @ 2015-06-12 13:11 UTC (permalink / raw)
  To: Hans Verkuil, Sakari Ailus, Laurent Pinchart,
	Mauro Carvalho Chehab, Guennadi Liakhovetski, linux-media
  Cc: Ricardo Ribalda Delgado

Integer controls provide a way to get their default/initial value, but
any other control (p_u32, p_u8.....) provide no other way to get the
initial value than unloading the module and loading it back.

*What is the actual problem?
I have a custom control with WIDTH integer values. Every value
represents the calibrated FPN (fixed pattern noise) correction value for that
column
-Application A changes the FPN correction value
-Application B wants to restore the calibrated value but it cant :(

*What is the proposed solution?
-Add a new ioctl VIDIOC_G_DEF_EXT_CTRLS, with the same API as
G_EXT_CTRLS, but that returns the initial value of a given control.


I have posted a copy of my working tree to

https://github.com/ribalda/linux/tree/g_def_ext

It has been tested with a hacked version of yavta (for normal controls) and a
custom program for the array control.

Changelog v2:
-Add documentation
-Split in multiple patches
-Comments by Hans:
  -Rename ioctl to G_DEF_EXT_CTRL
  -Much! better implementation of def_to_user


THANKS!

Ricardo Ribalda Delgado (27):
  media/v4l2-core: Add argument def_value to g_ext_ctrl
  media/v4l2-core: add new ioctl VIDIOC_G_DEF_EXT_CTRLS
  videodev2.h: Fix typo in comment
  v4l2-subdev: Add g_def_ext_ctrls to core_ops
  media/i2c/adv7343: Implement g_def_ext_ctrls core_op
  media/i2c/adv7393: Implement g_def_ext_ctrls core_op
  media/i2c/bt819: Implement g_def_ext_ctrls core_op
  media/i2c/cs5345: Implement g_def_ext_ctrls core_op
  media/i2c/cs53l32a: Implement g_def_ext_ctrls core_op
  media/i2c/cx25840/cx25840-core: Implement g_def_ext_ctrls core_op
  media/i2c/msp3400-driver: Implement g_def_ext_ctrls core_op
  media/i2c/saa7110: Implement g_def_ext_ctrls core_op
  media/i2c/saa7115: Implement g_def_ext_ctrls core_op
  media/i2c/saa717x: Implement g_def_ext_ctrls core_op
  media/i2c/sr030pc30: Implement g_def_ext_ctrls core_op
  media/i2c/tda7432: Implement g_def_ext_ctrls core_op
  media/i2c/tlv320aic23b: Implement g_def_ext_ctrls core_op
  media/i2c/tvaudio: Implement g_def_ext_ctrls core_op
  media/i2c/tvp514x: Implement g_def_ext_ctrls core_op
  media/i2c/tvp7002: Implement g_def_ext_ctrls core_op
  media/i2c/vpx3220: Implement g_def_ext_ctrls core_op
  media/i2c/wm8739: Implement g_def_ext_ctrls core_op
  media/i2c/wm8775: Implement g_def_ext_ctrls core_op
  media/pci/ivtv/ivtv-gpio: Implement g_def_ext_ctrls core_op
  media/radio/saa7706h: Implement g_def_ext_ctrls core_op
  Docbook: media: new ioctl VIDIOC_G_DEF_EXT_CTRLS
  Documentation: media: Fix code sample

 Documentation/DocBook/media/v4l/v4l2.xml           |  8 ++++++
 .../DocBook/media/v4l/vidioc-g-ext-ctrls.xml       | 13 ++++++---
 Documentation/video4linux/v4l2-controls.txt        |  4 ++-
 Documentation/video4linux/v4l2-framework.txt       |  1 +
 Documentation/zh_CN/video4linux/v4l2-framework.txt |  1 +
 drivers/media/i2c/adv7343.c                        |  1 +
 drivers/media/i2c/adv7393.c                        |  1 +
 drivers/media/i2c/bt819.c                          |  1 +
 drivers/media/i2c/cs5345.c                         |  1 +
 drivers/media/i2c/cs53l32a.c                       |  1 +
 drivers/media/i2c/cx25840/cx25840-core.c           |  1 +
 drivers/media/i2c/msp3400-driver.c                 |  1 +
 drivers/media/i2c/saa7110.c                        |  1 +
 drivers/media/i2c/saa7115.c                        |  1 +
 drivers/media/i2c/saa717x.c                        |  1 +
 drivers/media/i2c/sr030pc30.c                      |  1 +
 drivers/media/i2c/tda7432.c                        |  1 +
 drivers/media/i2c/tlv320aic23b.c                   |  1 +
 drivers/media/i2c/tvaudio.c                        |  1 +
 drivers/media/i2c/tvp514x.c                        |  1 +
 drivers/media/i2c/tvp7002.c                        |  1 +
 drivers/media/i2c/vpx3220.c                        |  1 +
 drivers/media/i2c/wm8739.c                         |  1 +
 drivers/media/i2c/wm8775.c                         |  1 +
 drivers/media/pci/ivtv/ivtv-gpio.c                 |  1 +
 drivers/media/platform/omap3isp/ispvideo.c         |  2 +-
 drivers/media/radio/saa7706h.c                     |  1 +
 drivers/media/v4l2-core/v4l2-compat-ioctl32.c      |  4 +++
 drivers/media/v4l2-core/v4l2-ctrls.c               | 32 ++++++++++++++++++----
 drivers/media/v4l2-core/v4l2-ioctl.c               | 25 +++++++++++++++--
 drivers/media/v4l2-core/v4l2-subdev.c              |  5 +++-
 include/media/v4l2-ctrls.h                         |  5 +++-
 include/media/v4l2-ioctl.h                         |  2 ++
 include/media/v4l2-subdev.h                        |  2 ++
 include/uapi/linux/videodev2.h                     |  3 +-
 35 files changed, 112 insertions(+), 16 deletions(-)

-- 
2.1.4

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

* [RFC v2 01/27] media/v4l2-core: Add argument def_value to g_ext_ctrl
  2015-06-12 13:11 [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
@ 2015-06-12 13:11 ` Ricardo Ribalda Delgado
  2015-06-12 13:11 ` [RFC v2 02/27] media/v4l2-core: add new ioctl VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
                   ` (26 subsequent siblings)
  27 siblings, 0 replies; 32+ messages in thread
From: Ricardo Ribalda Delgado @ 2015-06-12 13:11 UTC (permalink / raw)
  To: Hans Verkuil, Sakari Ailus, Laurent Pinchart,
	Mauro Carvalho Chehab, Guennadi Liakhovetski, linux-media
  Cc: Ricardo Ribalda Delgado

If def_value is set, the default value for the controls is returned.

Helper function def_to_user is also added with the same interface as
cur_to_user or new_to_user.

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
---
 drivers/media/platform/omap3isp/ispvideo.c |  2 +-
 drivers/media/v4l2-core/v4l2-ctrls.c       | 25 ++++++++++++++++++++-----
 drivers/media/v4l2-core/v4l2-ioctl.c       |  4 ++--
 drivers/media/v4l2-core/v4l2-subdev.c      |  2 +-
 include/media/v4l2-ctrls.h                 |  3 ++-
 5 files changed, 26 insertions(+), 10 deletions(-)

diff --git a/drivers/media/platform/omap3isp/ispvideo.c b/drivers/media/platform/omap3isp/ispvideo.c
index d285af18df7f..cdcc51ff6fa7 100644
--- a/drivers/media/platform/omap3isp/ispvideo.c
+++ b/drivers/media/platform/omap3isp/ispvideo.c
@@ -941,7 +941,7 @@ static int isp_video_check_external_subdevs(struct isp_video *video,
 	ctrls.count = 1;
 	ctrls.controls = &ctrl;
 
-	ret = v4l2_g_ext_ctrls(pipe->external->ctrl_handler, &ctrls);
+	ret = v4l2_g_ext_ctrls(pipe->external->ctrl_handler, &ctrls, false);
 	if (ret < 0) {
 		dev_warn(isp->dev, "no pixel rate control in subdev %s\n",
 			 pipe->external->name);
diff --git a/drivers/media/v4l2-core/v4l2-ctrls.c b/drivers/media/v4l2-core/v4l2-ctrls.c
index b6b7dcc1b77d..02ff6f573fd2 100644
--- a/drivers/media/v4l2-core/v4l2-ctrls.c
+++ b/drivers/media/v4l2-core/v4l2-ctrls.c
@@ -1489,6 +1489,17 @@ static int new_to_user(struct v4l2_ext_control *c,
 	return ptr_to_user(c, ctrl, ctrl->p_new);
 }
 
+/* Helper function: copy the initial control value back to the caller */
+static int def_to_user(struct v4l2_ext_control *c, struct v4l2_ctrl *ctrl)
+{
+	int idx;
+
+	for (idx = 0; idx < ctrl->elems; idx++)
+		ctrl->type_ops->init(ctrl, idx, ctrl->p_new);
+
+	return ptr_to_user(c, ctrl, ctrl->p_new);
+}
+
 /* Helper function: copy the caller-provider value to the given control value */
 static int user_to_ptr(struct v4l2_ext_control *c,
 		       struct v4l2_ctrl *ctrl,
@@ -2795,7 +2806,8 @@ static int class_check(struct v4l2_ctrl_handler *hdl, u32 ctrl_class)
 
 
 /* Get extended controls. Allocates the helpers array if needed. */
-int v4l2_g_ext_ctrls(struct v4l2_ctrl_handler *hdl, struct v4l2_ext_controls *cs)
+int v4l2_g_ext_ctrls(struct v4l2_ctrl_handler *hdl,
+		     struct v4l2_ext_controls *cs, bool def_value)
 {
 	struct v4l2_ctrl_helper helper[4];
 	struct v4l2_ctrl_helper *helpers = helper;
@@ -2827,9 +2839,11 @@ int v4l2_g_ext_ctrls(struct v4l2_ctrl_handler *hdl, struct v4l2_ext_controls *cs
 
 	for (i = 0; !ret && i < cs->count; i++) {
 		int (*ctrl_to_user)(struct v4l2_ext_control *c,
-				    struct v4l2_ctrl *ctrl) = cur_to_user;
+				    struct v4l2_ctrl *ctrl);
 		struct v4l2_ctrl *master;
 
+		ctrl_to_user = def_value ? def_to_user : cur_to_user;
+
 		if (helpers[i].mref == NULL)
 			continue;
 
@@ -2839,8 +2853,9 @@ int v4l2_g_ext_ctrls(struct v4l2_ctrl_handler *hdl, struct v4l2_ext_controls *cs
 		v4l2_ctrl_lock(master);
 
 		/* g_volatile_ctrl will update the new control values */
-		if ((master->flags & V4L2_CTRL_FLAG_VOLATILE) ||
-			(master->has_volatiles && !is_cur_manual(master))) {
+		if (!def_value &&
+		    ((master->flags & V4L2_CTRL_FLAG_VOLATILE) ||
+		    (master->has_volatiles && !is_cur_manual(master)))) {
 			for (j = 0; j < master->ncontrols; j++)
 				cur_to_new(master->cluster[j]);
 			ret = call_op(master, g_volatile_ctrl);
@@ -2869,7 +2884,7 @@ EXPORT_SYMBOL(v4l2_g_ext_ctrls);
 
 int v4l2_subdev_g_ext_ctrls(struct v4l2_subdev *sd, struct v4l2_ext_controls *cs)
 {
-	return v4l2_g_ext_ctrls(sd->ctrl_handler, cs);
+	return v4l2_g_ext_ctrls(sd->ctrl_handler, cs, false);
 }
 EXPORT_SYMBOL(v4l2_subdev_g_ext_ctrls);
 
diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c
index 85de4557f696..a675ccc8f27a 100644
--- a/drivers/media/v4l2-core/v4l2-ioctl.c
+++ b/drivers/media/v4l2-core/v4l2-ioctl.c
@@ -1982,9 +1982,9 @@ static int v4l_g_ext_ctrls(const struct v4l2_ioctl_ops *ops,
 
 	p->error_idx = p->count;
 	if (vfh && vfh->ctrl_handler)
-		return v4l2_g_ext_ctrls(vfh->ctrl_handler, p);
+		return v4l2_g_ext_ctrls(vfh->ctrl_handler, p, false);
 	if (vfd->ctrl_handler)
-		return v4l2_g_ext_ctrls(vfd->ctrl_handler, p);
+		return v4l2_g_ext_ctrls(vfd->ctrl_handler, p, false);
 	if (ops->vidioc_g_ext_ctrls == NULL)
 		return -ENOTTY;
 	return check_ext_ctrls(p, 0) ? ops->vidioc_g_ext_ctrls(file, fh, p) :
diff --git a/drivers/media/v4l2-core/v4l2-subdev.c b/drivers/media/v4l2-core/v4l2-subdev.c
index 63596063b213..90ed61e6df34 100644
--- a/drivers/media/v4l2-core/v4l2-subdev.c
+++ b/drivers/media/v4l2-core/v4l2-subdev.c
@@ -203,7 +203,7 @@ static long subdev_do_ioctl(struct file *file, unsigned int cmd, void *arg)
 		return v4l2_s_ctrl(vfh, vfh->ctrl_handler, arg);
 
 	case VIDIOC_G_EXT_CTRLS:
-		return v4l2_g_ext_ctrls(vfh->ctrl_handler, arg);
+		return v4l2_g_ext_ctrls(vfh->ctrl_handler, arg, false);
 
 	case VIDIOC_S_EXT_CTRLS:
 		return v4l2_s_ext_ctrls(vfh, vfh->ctrl_handler, arg);
diff --git a/include/media/v4l2-ctrls.h b/include/media/v4l2-ctrls.h
index 911f3e542834..16f16b67181b 100644
--- a/include/media/v4l2-ctrls.h
+++ b/include/media/v4l2-ctrls.h
@@ -812,7 +812,8 @@ int v4l2_querymenu(struct v4l2_ctrl_handler *hdl, struct v4l2_querymenu *qm);
 int v4l2_g_ctrl(struct v4l2_ctrl_handler *hdl, struct v4l2_control *ctrl);
 int v4l2_s_ctrl(struct v4l2_fh *fh, struct v4l2_ctrl_handler *hdl,
 						struct v4l2_control *ctrl);
-int v4l2_g_ext_ctrls(struct v4l2_ctrl_handler *hdl, struct v4l2_ext_controls *c);
+int v4l2_g_ext_ctrls(struct v4l2_ctrl_handler *hdl, struct v4l2_ext_controls *c,
+		     bool def_value);
 int v4l2_try_ext_ctrls(struct v4l2_ctrl_handler *hdl, struct v4l2_ext_controls *c);
 int v4l2_s_ext_ctrls(struct v4l2_fh *fh, struct v4l2_ctrl_handler *hdl,
 						struct v4l2_ext_controls *c);
-- 
2.1.4

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

* [RFC v2 02/27] media/v4l2-core: add new ioctl VIDIOC_G_DEF_EXT_CTRLS
  2015-06-12 13:11 [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
  2015-06-12 13:11 ` [RFC v2 01/27] media/v4l2-core: Add argument def_value to g_ext_ctrl Ricardo Ribalda Delgado
@ 2015-06-12 13:11 ` Ricardo Ribalda Delgado
  2015-06-12 13:11 ` [RFC v2 03/27] videodev2.h: Fix typo in comment Ricardo Ribalda Delgado
                   ` (25 subsequent siblings)
  27 siblings, 0 replies; 32+ messages in thread
From: Ricardo Ribalda Delgado @ 2015-06-12 13:11 UTC (permalink / raw)
  To: Hans Verkuil, Sakari Ailus, Laurent Pinchart,
	Mauro Carvalho Chehab, Guennadi Liakhovetski, linux-media
  Cc: Ricardo Ribalda Delgado

This ioctl returns the default value of one or more extended controls.
It has the same interface as VIDIOC_EXT_CTRLS.

It is needed due to the fact that QUERYCTRL was not enough to
provide the initial value of pointer type controls.

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
---
 drivers/media/v4l2-core/v4l2-compat-ioctl32.c |  4 ++++
 drivers/media/v4l2-core/v4l2-ioctl.c          | 21 +++++++++++++++++++++
 drivers/media/v4l2-core/v4l2-subdev.c         |  3 +++
 include/media/v4l2-ioctl.h                    |  2 ++
 include/uapi/linux/videodev2.h                |  1 +
 5 files changed, 31 insertions(+)

diff --git a/drivers/media/v4l2-core/v4l2-compat-ioctl32.c b/drivers/media/v4l2-core/v4l2-compat-ioctl32.c
index af635430524e..b7ab852b642f 100644
--- a/drivers/media/v4l2-core/v4l2-compat-ioctl32.c
+++ b/drivers/media/v4l2-core/v4l2-compat-ioctl32.c
@@ -817,6 +817,7 @@ static int put_v4l2_edid32(struct v4l2_edid *kp, struct v4l2_edid32 __user *up)
 #define	VIDIOC_DQEVENT32	_IOR ('V', 89, struct v4l2_event32)
 #define VIDIOC_CREATE_BUFS32	_IOWR('V', 92, struct v4l2_create_buffers32)
 #define VIDIOC_PREPARE_BUF32	_IOWR('V', 93, struct v4l2_buffer32)
+#define VIDIOC_G_DEF_EXT_CTRLS32 _IOWR('V', 104, struct v4l2_ext_controls32)
 
 #define VIDIOC_OVERLAY32	_IOW ('V', 14, s32)
 #define VIDIOC_STREAMON32	_IOW ('V', 18, s32)
@@ -858,6 +859,7 @@ static long do_video_ioctl(struct file *file, unsigned int cmd, unsigned long ar
 	case VIDIOC_ENUMINPUT32: cmd = VIDIOC_ENUMINPUT; break;
 	case VIDIOC_TRY_FMT32: cmd = VIDIOC_TRY_FMT; break;
 	case VIDIOC_G_EXT_CTRLS32: cmd = VIDIOC_G_EXT_CTRLS; break;
+	case VIDIOC_G_DEF_EXT_CTRLS32: cmd = VIDIOC_G_DEF_EXT_CTRLS; break;
 	case VIDIOC_S_EXT_CTRLS32: cmd = VIDIOC_S_EXT_CTRLS; break;
 	case VIDIOC_TRY_EXT_CTRLS32: cmd = VIDIOC_TRY_EXT_CTRLS; break;
 	case VIDIOC_DQEVENT32: cmd = VIDIOC_DQEVENT; break;
@@ -935,6 +937,7 @@ static long do_video_ioctl(struct file *file, unsigned int cmd, unsigned long ar
 		break;
 
 	case VIDIOC_G_EXT_CTRLS:
+	case VIDIOC_G_DEF_EXT_CTRLS:
 	case VIDIOC_S_EXT_CTRLS:
 	case VIDIOC_TRY_EXT_CTRLS:
 		err = get_v4l2_ext_controls32(&karg.v2ecs, up);
@@ -962,6 +965,7 @@ static long do_video_ioctl(struct file *file, unsigned int cmd, unsigned long ar
 	   contain information on which control failed. */
 	switch (cmd) {
 	case VIDIOC_G_EXT_CTRLS:
+	case VIDIOC_G_DEF_EXT_CTRLS:
 	case VIDIOC_S_EXT_CTRLS:
 	case VIDIOC_TRY_EXT_CTRLS:
 		if (put_v4l2_ext_controls32(&karg.v2ecs, up))
diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c
index a675ccc8f27a..5ed03b8588ec 100644
--- a/drivers/media/v4l2-core/v4l2-ioctl.c
+++ b/drivers/media/v4l2-core/v4l2-ioctl.c
@@ -1991,6 +1991,25 @@ static int v4l_g_ext_ctrls(const struct v4l2_ioctl_ops *ops,
 					-EINVAL;
 }
 
+static int v4l_g_def_ext_ctrls(const struct v4l2_ioctl_ops *ops,
+				struct file *file, void *fh, void *arg)
+{
+	struct video_device *vfd = video_devdata(file);
+	struct v4l2_ext_controls *p = arg;
+	struct v4l2_fh *vfh =
+		test_bit(V4L2_FL_USES_V4L2_FH, &vfd->flags) ? fh : NULL;
+
+	p->error_idx = p->count;
+	if (vfh && vfh->ctrl_handler)
+		return v4l2_g_ext_ctrls(vfh->ctrl_handler, p, true);
+	if (vfd->ctrl_handler)
+		return v4l2_g_ext_ctrls(vfd->ctrl_handler, p, true);
+	if (ops->vidioc_g_def_ext_ctrls == NULL)
+		return -ENOTTY;
+	return check_ext_ctrls(p, 0) ?
+		ops->vidioc_g_def_ext_ctrls(file, fh, p) : -EINVAL;
+}
+
 static int v4l_s_ext_ctrls(const struct v4l2_ioctl_ops *ops,
 				struct file *file, void *fh, void *arg)
 {
@@ -2435,6 +2454,7 @@ static struct v4l2_ioctl_info v4l2_ioctls[] = {
 	IOCTL_INFO_FNC(VIDIOC_G_SLICED_VBI_CAP, v4l_g_sliced_vbi_cap, v4l_print_sliced_vbi_cap, INFO_FL_CLEAR(v4l2_sliced_vbi_cap, type)),
 	IOCTL_INFO_FNC(VIDIOC_LOG_STATUS, v4l_log_status, v4l_print_newline, 0),
 	IOCTL_INFO_FNC(VIDIOC_G_EXT_CTRLS, v4l_g_ext_ctrls, v4l_print_ext_controls, INFO_FL_CTRL),
+	IOCTL_INFO_FNC(VIDIOC_G_DEF_EXT_CTRLS, v4l_g_def_ext_ctrls, v4l_print_ext_controls, INFO_FL_CTRL),
 	IOCTL_INFO_FNC(VIDIOC_S_EXT_CTRLS, v4l_s_ext_ctrls, v4l_print_ext_controls, INFO_FL_PRIO | INFO_FL_CTRL),
 	IOCTL_INFO_FNC(VIDIOC_TRY_EXT_CTRLS, v4l_try_ext_ctrls, v4l_print_ext_controls, INFO_FL_CTRL),
 	IOCTL_INFO_STD(VIDIOC_ENUM_FRAMESIZES, vidioc_enum_framesizes, v4l_print_frmsizeenum, INFO_FL_CLEAR(v4l2_frmsizeenum, pixel_format)),
@@ -2643,6 +2663,7 @@ static int check_array_args(unsigned int cmd, void *parg, size_t *array_size,
 
 	case VIDIOC_S_EXT_CTRLS:
 	case VIDIOC_G_EXT_CTRLS:
+	case VIDIOC_G_DEF_EXT_CTRLS:
 	case VIDIOC_TRY_EXT_CTRLS: {
 		struct v4l2_ext_controls *ctrls = parg;
 
diff --git a/drivers/media/v4l2-core/v4l2-subdev.c b/drivers/media/v4l2-core/v4l2-subdev.c
index 90ed61e6df34..8d75620e4603 100644
--- a/drivers/media/v4l2-core/v4l2-subdev.c
+++ b/drivers/media/v4l2-core/v4l2-subdev.c
@@ -205,6 +205,9 @@ static long subdev_do_ioctl(struct file *file, unsigned int cmd, void *arg)
 	case VIDIOC_G_EXT_CTRLS:
 		return v4l2_g_ext_ctrls(vfh->ctrl_handler, arg, false);
 
+	case VIDIOC_G_DEF_EXT_CTRLS:
+		return v4l2_g_ext_ctrls(vfh->ctrl_handler, arg, true);
+
 	case VIDIOC_S_EXT_CTRLS:
 		return v4l2_s_ext_ctrls(vfh, vfh->ctrl_handler, arg);
 
diff --git a/include/media/v4l2-ioctl.h b/include/media/v4l2-ioctl.h
index 8fbbd76d78e8..16d7eeec9ff6 100644
--- a/include/media/v4l2-ioctl.h
+++ b/include/media/v4l2-ioctl.h
@@ -160,6 +160,8 @@ struct v4l2_ioctl_ops {
 					struct v4l2_control *a);
 	int (*vidioc_g_ext_ctrls)      (struct file *file, void *fh,
 					struct v4l2_ext_controls *a);
+	int (*vidioc_g_def_ext_ctrls)  (struct file *file, void *fh,
+					struct v4l2_ext_controls *a);
 	int (*vidioc_s_ext_ctrls)      (struct file *file, void *fh,
 					struct v4l2_ext_controls *a);
 	int (*vidioc_try_ext_ctrls)    (struct file *file, void *fh,
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
index 3d5fc72d53a7..b9468a3b833e 100644
--- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h
@@ -2269,6 +2269,7 @@ struct v4l2_create_buffers {
 #define VIDIOC_DBG_G_CHIP_INFO  _IOWR('V', 102, struct v4l2_dbg_chip_info)
 
 #define VIDIOC_QUERY_EXT_CTRL	_IOWR('V', 103, struct v4l2_query_ext_ctrl)
+#define VIDIOC_G_DEF_EXT_CTRLS	_IOWR('V', 104, struct v4l2_ext_controls)
 
 /* Reminder: when adding new ioctls please add support for them to
    drivers/media/video/v4l2-compat-ioctl32.c as well! */
-- 
2.1.4

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

* [RFC v2 03/27] videodev2.h: Fix typo in comment
  2015-06-12 13:11 [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
  2015-06-12 13:11 ` [RFC v2 01/27] media/v4l2-core: Add argument def_value to g_ext_ctrl Ricardo Ribalda Delgado
  2015-06-12 13:11 ` [RFC v2 02/27] media/v4l2-core: add new ioctl VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
@ 2015-06-12 13:11 ` Ricardo Ribalda Delgado
  2015-06-12 13:11 ` [RFC v2 04/27] v4l2-subdev: Add g_def_ext_ctrls to core_ops Ricardo Ribalda Delgado
                   ` (24 subsequent siblings)
  27 siblings, 0 replies; 32+ messages in thread
From: Ricardo Ribalda Delgado @ 2015-06-12 13:11 UTC (permalink / raw)
  To: Hans Verkuil, Sakari Ailus, Laurent Pinchart,
	Mauro Carvalho Chehab, Guennadi Liakhovetski, linux-media
  Cc: Ricardo Ribalda Delgado

Referenced file has moved

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
---
 include/uapi/linux/videodev2.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
index b9468a3b833e..b059237f0214 100644
--- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h
@@ -2272,7 +2272,7 @@ struct v4l2_create_buffers {
 #define VIDIOC_G_DEF_EXT_CTRLS	_IOWR('V', 104, struct v4l2_ext_controls)
 
 /* Reminder: when adding new ioctls please add support for them to
-   drivers/media/video/v4l2-compat-ioctl32.c as well! */
+   drivers/media/v4l2-core/v4l2-compat-ioctl32.c as well! */
 
 #define BASE_VIDIOC_PRIVATE	192		/* 192-255 are private */
 
-- 
2.1.4

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

* [RFC v2 04/27] v4l2-subdev: Add g_def_ext_ctrls to core_ops
  2015-06-12 13:11 [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
                   ` (2 preceding siblings ...)
  2015-06-12 13:11 ` [RFC v2 03/27] videodev2.h: Fix typo in comment Ricardo Ribalda Delgado
@ 2015-06-12 13:11 ` Ricardo Ribalda Delgado
  2015-06-12 13:11 ` [RFC v2 05/27] media/i2c/adv7343: Implement g_def_ext_ctrls core_op Ricardo Ribalda Delgado
                   ` (23 subsequent siblings)
  27 siblings, 0 replies; 32+ messages in thread
From: Ricardo Ribalda Delgado @ 2015-06-12 13:11 UTC (permalink / raw)
  To: Hans Verkuil, Sakari Ailus, Laurent Pinchart,
	Mauro Carvalho Chehab, Guennadi Liakhovetski, linux-media
  Cc: Ricardo Ribalda Delgado

This function returns the default value of an extended control. Provides
sub-devices with the same functionality as ioctl VIDIOC_G_DEF_EXT_CTRLS.

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
---
 drivers/media/v4l2-core/v4l2-ctrls.c | 7 +++++++
 include/media/v4l2-ctrls.h           | 2 ++
 include/media/v4l2-subdev.h          | 2 ++
 3 files changed, 11 insertions(+)

diff --git a/drivers/media/v4l2-core/v4l2-ctrls.c b/drivers/media/v4l2-core/v4l2-ctrls.c
index 02ff6f573fd2..2a42b826f857 100644
--- a/drivers/media/v4l2-core/v4l2-ctrls.c
+++ b/drivers/media/v4l2-core/v4l2-ctrls.c
@@ -2888,6 +2888,13 @@ int v4l2_subdev_g_ext_ctrls(struct v4l2_subdev *sd, struct v4l2_ext_controls *cs
 }
 EXPORT_SYMBOL(v4l2_subdev_g_ext_ctrls);
 
+int v4l2_subdev_g_def_ext_ctrls(struct v4l2_subdev *sd,
+				struct v4l2_ext_controls *cs)
+{
+	return v4l2_g_ext_ctrls(sd->ctrl_handler, cs, true);
+}
+EXPORT_SYMBOL(v4l2_subdev_g_def_ext_ctrls);
+
 /* Helper function to get a single control */
 static int get_ctrl(struct v4l2_ctrl *ctrl, struct v4l2_ext_control *c)
 {
diff --git a/include/media/v4l2-ctrls.h b/include/media/v4l2-ctrls.h
index 16f16b67181b..61e6cd67fc10 100644
--- a/include/media/v4l2-ctrls.h
+++ b/include/media/v4l2-ctrls.h
@@ -823,6 +823,8 @@ int v4l2_s_ext_ctrls(struct v4l2_fh *fh, struct v4l2_ctrl_handler *hdl,
 int v4l2_subdev_queryctrl(struct v4l2_subdev *sd, struct v4l2_queryctrl *qc);
 int v4l2_subdev_querymenu(struct v4l2_subdev *sd, struct v4l2_querymenu *qm);
 int v4l2_subdev_g_ext_ctrls(struct v4l2_subdev *sd, struct v4l2_ext_controls *cs);
+int v4l2_subdev_g_def_ext_ctrls(struct v4l2_subdev *sd,
+				struct v4l2_ext_controls *cs);
 int v4l2_subdev_try_ext_ctrls(struct v4l2_subdev *sd, struct v4l2_ext_controls *cs);
 int v4l2_subdev_s_ext_ctrls(struct v4l2_subdev *sd, struct v4l2_ext_controls *cs);
 int v4l2_subdev_g_ctrl(struct v4l2_subdev *sd, struct v4l2_control *ctrl);
diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h
index dc20102ff600..01b3354942cf 100644
--- a/include/media/v4l2-subdev.h
+++ b/include/media/v4l2-subdev.h
@@ -158,6 +158,8 @@ struct v4l2_subdev_core_ops {
 	int (*g_ctrl)(struct v4l2_subdev *sd, struct v4l2_control *ctrl);
 	int (*s_ctrl)(struct v4l2_subdev *sd, struct v4l2_control *ctrl);
 	int (*g_ext_ctrls)(struct v4l2_subdev *sd, struct v4l2_ext_controls *ctrls);
+	int (*g_def_ext_ctrls)(struct v4l2_subdev *sd,
+			       struct v4l2_ext_controls *ctrls);
 	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);
-- 
2.1.4

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

* [RFC v2 05/27] media/i2c/adv7343: Implement g_def_ext_ctrls core_op
  2015-06-12 13:11 [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
                   ` (3 preceding siblings ...)
  2015-06-12 13:11 ` [RFC v2 04/27] v4l2-subdev: Add g_def_ext_ctrls to core_ops Ricardo Ribalda Delgado
@ 2015-06-12 13:11 ` Ricardo Ribalda Delgado
  2015-06-12 13:12 ` [RFC v2 06/27] media/i2c/adv7393: " Ricardo Ribalda Delgado
                   ` (22 subsequent siblings)
  27 siblings, 0 replies; 32+ messages in thread
From: Ricardo Ribalda Delgado @ 2015-06-12 13:11 UTC (permalink / raw)
  To: Hans Verkuil, Sakari Ailus, Laurent Pinchart,
	Mauro Carvalho Chehab, Guennadi Liakhovetski, linux-media
  Cc: Ricardo Ribalda Delgado

Via control framework

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
---
 drivers/media/i2c/adv7343.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/media/i2c/adv7343.c b/drivers/media/i2c/adv7343.c
index 7c50833e7d17..9753fb545f17 100644
--- a/drivers/media/i2c/adv7343.c
+++ b/drivers/media/i2c/adv7343.c
@@ -320,6 +320,7 @@ static const struct v4l2_ctrl_ops adv7343_ctrl_ops = {
 static const struct v4l2_subdev_core_ops adv7343_core_ops = {
 	.log_status = adv7343_log_status,
 	.g_ext_ctrls = v4l2_subdev_g_ext_ctrls,
+	.g_def_ext_ctrls = v4l2_subdev_g_def_ext_ctrls,
 	.try_ext_ctrls = v4l2_subdev_try_ext_ctrls,
 	.s_ext_ctrls = v4l2_subdev_s_ext_ctrls,
 	.g_ctrl = v4l2_subdev_g_ctrl,
-- 
2.1.4

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

* [RFC v2 06/27] media/i2c/adv7393: Implement g_def_ext_ctrls core_op
  2015-06-12 13:11 [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
                   ` (4 preceding siblings ...)
  2015-06-12 13:11 ` [RFC v2 05/27] media/i2c/adv7343: Implement g_def_ext_ctrls core_op Ricardo Ribalda Delgado
@ 2015-06-12 13:12 ` Ricardo Ribalda Delgado
  2015-06-12 13:12 ` [RFC v2 07/27] media/i2c/bt819: " Ricardo Ribalda Delgado
                   ` (21 subsequent siblings)
  27 siblings, 0 replies; 32+ messages in thread
From: Ricardo Ribalda Delgado @ 2015-06-12 13:12 UTC (permalink / raw)
  To: Hans Verkuil, Sakari Ailus, Laurent Pinchart,
	Mauro Carvalho Chehab, Guennadi Liakhovetski, linux-media
  Cc: Ricardo Ribalda Delgado

Via control framework.

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
---
 drivers/media/i2c/adv7393.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/media/i2c/adv7393.c b/drivers/media/i2c/adv7393.c
index 558f19154eb9..e59e29335c83 100644
--- a/drivers/media/i2c/adv7393.c
+++ b/drivers/media/i2c/adv7393.c
@@ -307,6 +307,7 @@ static const struct v4l2_ctrl_ops adv7393_ctrl_ops = {
 static const struct v4l2_subdev_core_ops adv7393_core_ops = {
 	.log_status = adv7393_log_status,
 	.g_ext_ctrls = v4l2_subdev_g_ext_ctrls,
+	.g_def_ext_ctrls = v4l2_subdev_g_def_ext_ctrls,
 	.try_ext_ctrls = v4l2_subdev_try_ext_ctrls,
 	.s_ext_ctrls = v4l2_subdev_s_ext_ctrls,
 	.g_ctrl = v4l2_subdev_g_ctrl,
-- 
2.1.4

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

* [RFC v2 07/27] media/i2c/bt819: Implement g_def_ext_ctrls core_op
  2015-06-12 13:11 [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
                   ` (5 preceding siblings ...)
  2015-06-12 13:12 ` [RFC v2 06/27] media/i2c/adv7393: " Ricardo Ribalda Delgado
@ 2015-06-12 13:12 ` Ricardo Ribalda Delgado
  2015-06-12 13:12 ` [RFC v2 08/27] media/i2c/cs5345: " Ricardo Ribalda Delgado
                   ` (20 subsequent siblings)
  27 siblings, 0 replies; 32+ messages in thread
From: Ricardo Ribalda Delgado @ 2015-06-12 13:12 UTC (permalink / raw)
  To: Hans Verkuil, Sakari Ailus, Laurent Pinchart,
	Mauro Carvalho Chehab, Guennadi Liakhovetski, linux-media
  Cc: Ricardo Ribalda Delgado

Via control framework.

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
---
 drivers/media/i2c/bt819.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/media/i2c/bt819.c b/drivers/media/i2c/bt819.c
index 76b334a6a56d..b3e9ac3616b5 100644
--- a/drivers/media/i2c/bt819.c
+++ b/drivers/media/i2c/bt819.c
@@ -381,6 +381,7 @@ static const struct v4l2_ctrl_ops bt819_ctrl_ops = {
 
 static const struct v4l2_subdev_core_ops bt819_core_ops = {
 	.g_ext_ctrls = v4l2_subdev_g_ext_ctrls,
+	.g_def_ext_ctrls = v4l2_subdev_g_def_ext_ctrls,
 	.try_ext_ctrls = v4l2_subdev_try_ext_ctrls,
 	.s_ext_ctrls = v4l2_subdev_s_ext_ctrls,
 	.g_ctrl = v4l2_subdev_g_ctrl,
-- 
2.1.4

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

* [RFC v2 08/27] media/i2c/cs5345: Implement g_def_ext_ctrls core_op
  2015-06-12 13:11 [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
                   ` (6 preceding siblings ...)
  2015-06-12 13:12 ` [RFC v2 07/27] media/i2c/bt819: " Ricardo Ribalda Delgado
@ 2015-06-12 13:12 ` Ricardo Ribalda Delgado
  2015-06-12 13:12 ` [RFC v2 09/27] media/i2c/cs53l32a: " Ricardo Ribalda Delgado
                   ` (19 subsequent siblings)
  27 siblings, 0 replies; 32+ messages in thread
From: Ricardo Ribalda Delgado @ 2015-06-12 13:12 UTC (permalink / raw)
  To: Hans Verkuil, Sakari Ailus, Laurent Pinchart,
	Mauro Carvalho Chehab, Guennadi Liakhovetski, linux-media
  Cc: Ricardo Ribalda Delgado

Via control framework.

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
---
 drivers/media/i2c/cs5345.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/media/i2c/cs5345.c b/drivers/media/i2c/cs5345.c
index 34b76a9e7515..ad3c89585909 100644
--- a/drivers/media/i2c/cs5345.c
+++ b/drivers/media/i2c/cs5345.c
@@ -133,6 +133,7 @@ static const struct v4l2_ctrl_ops cs5345_ctrl_ops = {
 static const struct v4l2_subdev_core_ops cs5345_core_ops = {
 	.log_status = cs5345_log_status,
 	.g_ext_ctrls = v4l2_subdev_g_ext_ctrls,
+	.g_def_ext_ctrls = v4l2_subdev_g_def_ext_ctrls,
 	.try_ext_ctrls = v4l2_subdev_try_ext_ctrls,
 	.s_ext_ctrls = v4l2_subdev_s_ext_ctrls,
 	.g_ctrl = v4l2_subdev_g_ctrl,
-- 
2.1.4

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

* [RFC v2 09/27] media/i2c/cs53l32a: Implement g_def_ext_ctrls core_op
  2015-06-12 13:11 [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
                   ` (7 preceding siblings ...)
  2015-06-12 13:12 ` [RFC v2 08/27] media/i2c/cs5345: " Ricardo Ribalda Delgado
@ 2015-06-12 13:12 ` Ricardo Ribalda Delgado
  2015-06-12 13:12 ` [RFC v2 10/27] media/i2c/cx25840/cx25840-core: " Ricardo Ribalda Delgado
                   ` (18 subsequent siblings)
  27 siblings, 0 replies; 32+ messages in thread
From: Ricardo Ribalda Delgado @ 2015-06-12 13:12 UTC (permalink / raw)
  To: Hans Verkuil, Sakari Ailus, Laurent Pinchart,
	Mauro Carvalho Chehab, Guennadi Liakhovetski, linux-media
  Cc: Ricardo Ribalda Delgado

Via control framework.

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
---
 drivers/media/i2c/cs53l32a.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/media/i2c/cs53l32a.c b/drivers/media/i2c/cs53l32a.c
index 27400c16ef9a..9358350278cc 100644
--- a/drivers/media/i2c/cs53l32a.c
+++ b/drivers/media/i2c/cs53l32a.c
@@ -122,6 +122,7 @@ static const struct v4l2_ctrl_ops cs53l32a_ctrl_ops = {
 static const struct v4l2_subdev_core_ops cs53l32a_core_ops = {
 	.log_status = cs53l32a_log_status,
 	.g_ext_ctrls = v4l2_subdev_g_ext_ctrls,
+	.g_def_ext_ctrls = v4l2_subdev_g_def_ext_ctrls,
 	.try_ext_ctrls = v4l2_subdev_try_ext_ctrls,
 	.s_ext_ctrls = v4l2_subdev_s_ext_ctrls,
 	.g_ctrl = v4l2_subdev_g_ctrl,
-- 
2.1.4

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

* [RFC v2 10/27] media/i2c/cx25840/cx25840-core: Implement g_def_ext_ctrls core_op
  2015-06-12 13:11 [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
                   ` (8 preceding siblings ...)
  2015-06-12 13:12 ` [RFC v2 09/27] media/i2c/cs53l32a: " Ricardo Ribalda Delgado
@ 2015-06-12 13:12 ` Ricardo Ribalda Delgado
  2015-06-12 13:12 ` [RFC v2 11/27] media/i2c/msp3400-driver: " Ricardo Ribalda Delgado
                   ` (17 subsequent siblings)
  27 siblings, 0 replies; 32+ messages in thread
From: Ricardo Ribalda Delgado @ 2015-06-12 13:12 UTC (permalink / raw)
  To: Hans Verkuil, Sakari Ailus, Laurent Pinchart,
	Mauro Carvalho Chehab, Guennadi Liakhovetski, linux-media
  Cc: Ricardo Ribalda Delgado

Via control framework.

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
---
 drivers/media/i2c/cx25840/cx25840-core.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/media/i2c/cx25840/cx25840-core.c b/drivers/media/i2c/cx25840/cx25840-core.c
index e15a789ad596..5d8d25e6bbf0 100644
--- a/drivers/media/i2c/cx25840/cx25840-core.c
+++ b/drivers/media/i2c/cx25840/cx25840-core.c
@@ -5044,6 +5044,7 @@ static const struct v4l2_subdev_core_ops cx25840_core_ops = {
 	.s_ext_ctrls = v4l2_subdev_s_ext_ctrls,
 	.try_ext_ctrls = v4l2_subdev_try_ext_ctrls,
 	.g_ext_ctrls = v4l2_subdev_g_ext_ctrls,
+	.g_def_ext_ctrls = v4l2_subdev_g_def_ext_ctrls,
 	.queryctrl = v4l2_subdev_queryctrl,
 	.querymenu = v4l2_subdev_querymenu,
 	.reset = cx25840_reset,
-- 
2.1.4

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

* [RFC v2 11/27] media/i2c/msp3400-driver: Implement g_def_ext_ctrls core_op
  2015-06-12 13:11 [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
                   ` (9 preceding siblings ...)
  2015-06-12 13:12 ` [RFC v2 10/27] media/i2c/cx25840/cx25840-core: " Ricardo Ribalda Delgado
@ 2015-06-12 13:12 ` Ricardo Ribalda Delgado
  2015-06-12 13:12 ` [RFC v2 12/27] media/i2c/saa7110: " Ricardo Ribalda Delgado
                   ` (16 subsequent siblings)
  27 siblings, 0 replies; 32+ messages in thread
From: Ricardo Ribalda Delgado @ 2015-06-12 13:12 UTC (permalink / raw)
  To: Hans Verkuil, Sakari Ailus, Laurent Pinchart,
	Mauro Carvalho Chehab, Guennadi Liakhovetski, linux-media
  Cc: Ricardo Ribalda Delgado

Via control framework.

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
---
 drivers/media/i2c/msp3400-driver.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/media/i2c/msp3400-driver.c b/drivers/media/i2c/msp3400-driver.c
index dcc68ec71732..10837564af8e 100644
--- a/drivers/media/i2c/msp3400-driver.c
+++ b/drivers/media/i2c/msp3400-driver.c
@@ -643,6 +643,7 @@ static const struct v4l2_ctrl_ops msp_ctrl_ops = {
 static const struct v4l2_subdev_core_ops msp_core_ops = {
 	.log_status = msp_log_status,
 	.g_ext_ctrls = v4l2_subdev_g_ext_ctrls,
+	.g_def_ext_ctrls = v4l2_subdev_g_def_ext_ctrls,
 	.try_ext_ctrls = v4l2_subdev_try_ext_ctrls,
 	.s_ext_ctrls = v4l2_subdev_s_ext_ctrls,
 	.g_ctrl = v4l2_subdev_g_ctrl,
-- 
2.1.4

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

* [RFC v2 12/27] media/i2c/saa7110: Implement g_def_ext_ctrls core_op
  2015-06-12 13:11 [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
                   ` (10 preceding siblings ...)
  2015-06-12 13:12 ` [RFC v2 11/27] media/i2c/msp3400-driver: " Ricardo Ribalda Delgado
@ 2015-06-12 13:12 ` Ricardo Ribalda Delgado
  2015-06-12 13:12 ` [RFC v2 13/27] media/i2c/saa7115: " Ricardo Ribalda Delgado
                   ` (15 subsequent siblings)
  27 siblings, 0 replies; 32+ messages in thread
From: Ricardo Ribalda Delgado @ 2015-06-12 13:12 UTC (permalink / raw)
  To: Hans Verkuil, Sakari Ailus, Laurent Pinchart,
	Mauro Carvalho Chehab, Guennadi Liakhovetski, linux-media
  Cc: Ricardo Ribalda Delgado

Via control framework.

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
---
 drivers/media/i2c/saa7110.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/media/i2c/saa7110.c b/drivers/media/i2c/saa7110.c
index 99689ee57d7e..964cc2cf1508 100644
--- a/drivers/media/i2c/saa7110.c
+++ b/drivers/media/i2c/saa7110.c
@@ -359,6 +359,7 @@ static const struct v4l2_ctrl_ops saa7110_ctrl_ops = {
 
 static const struct v4l2_subdev_core_ops saa7110_core_ops = {
 	.g_ext_ctrls = v4l2_subdev_g_ext_ctrls,
+	.g_def_ext_ctrls = v4l2_subdev_g_def_ext_ctrls,
 	.try_ext_ctrls = v4l2_subdev_try_ext_ctrls,
 	.s_ext_ctrls = v4l2_subdev_s_ext_ctrls,
 	.g_ctrl = v4l2_subdev_g_ctrl,
-- 
2.1.4

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

* [RFC v2 13/27] media/i2c/saa7115: Implement g_def_ext_ctrls core_op
  2015-06-12 13:11 [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
                   ` (11 preceding siblings ...)
  2015-06-12 13:12 ` [RFC v2 12/27] media/i2c/saa7110: " Ricardo Ribalda Delgado
@ 2015-06-12 13:12 ` Ricardo Ribalda Delgado
  2015-06-12 13:12 ` [RFC v2 14/27] media/i2c/saa717x: " Ricardo Ribalda Delgado
                   ` (14 subsequent siblings)
  27 siblings, 0 replies; 32+ messages in thread
From: Ricardo Ribalda Delgado @ 2015-06-12 13:12 UTC (permalink / raw)
  To: Hans Verkuil, Sakari Ailus, Laurent Pinchart,
	Mauro Carvalho Chehab, Guennadi Liakhovetski, linux-media
  Cc: Ricardo Ribalda Delgado

Via control framework.

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
---
 drivers/media/i2c/saa7115.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/media/i2c/saa7115.c b/drivers/media/i2c/saa7115.c
index 0eae5f4471e2..c227dc11b136 100644
--- a/drivers/media/i2c/saa7115.c
+++ b/drivers/media/i2c/saa7115.c
@@ -1582,6 +1582,7 @@ static const struct v4l2_ctrl_ops saa711x_ctrl_ops = {
 static const struct v4l2_subdev_core_ops saa711x_core_ops = {
 	.log_status = saa711x_log_status,
 	.g_ext_ctrls = v4l2_subdev_g_ext_ctrls,
+	.g_def_ext_ctrls = v4l2_subdev_g_def_ext_ctrls,
 	.try_ext_ctrls = v4l2_subdev_try_ext_ctrls,
 	.s_ext_ctrls = v4l2_subdev_s_ext_ctrls,
 	.g_ctrl = v4l2_subdev_g_ctrl,
-- 
2.1.4

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

* [RFC v2 14/27] media/i2c/saa717x: Implement g_def_ext_ctrls core_op
  2015-06-12 13:11 [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
                   ` (12 preceding siblings ...)
  2015-06-12 13:12 ` [RFC v2 13/27] media/i2c/saa7115: " Ricardo Ribalda Delgado
@ 2015-06-12 13:12 ` Ricardo Ribalda Delgado
  2015-06-12 13:12 ` [RFC v2 15/27] media/i2c/sr030pc30: " Ricardo Ribalda Delgado
                   ` (13 subsequent siblings)
  27 siblings, 0 replies; 32+ messages in thread
From: Ricardo Ribalda Delgado @ 2015-06-12 13:12 UTC (permalink / raw)
  To: Hans Verkuil, Sakari Ailus, Laurent Pinchart,
	Mauro Carvalho Chehab, Guennadi Liakhovetski, linux-media
  Cc: Ricardo Ribalda Delgado

Via control framework.

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
---
 drivers/media/i2c/saa717x.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/media/i2c/saa717x.c b/drivers/media/i2c/saa717x.c
index 7d517361e419..e1f94e0131e2 100644
--- a/drivers/media/i2c/saa717x.c
+++ b/drivers/media/i2c/saa717x.c
@@ -1205,6 +1205,7 @@ static const struct v4l2_subdev_core_ops saa717x_core_ops = {
 	.s_register = saa717x_s_register,
 #endif
 	.g_ext_ctrls = v4l2_subdev_g_ext_ctrls,
+	.g_def_ext_ctrls = v4l2_subdev_g_def_ext_ctrls,
 	.try_ext_ctrls = v4l2_subdev_try_ext_ctrls,
 	.s_ext_ctrls = v4l2_subdev_s_ext_ctrls,
 	.g_ctrl = v4l2_subdev_g_ctrl,
-- 
2.1.4

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

* [RFC v2 15/27] media/i2c/sr030pc30: Implement g_def_ext_ctrls core_op
  2015-06-12 13:11 [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
                   ` (13 preceding siblings ...)
  2015-06-12 13:12 ` [RFC v2 14/27] media/i2c/saa717x: " Ricardo Ribalda Delgado
@ 2015-06-12 13:12 ` Ricardo Ribalda Delgado
  2015-06-12 13:12 ` [RFC v2 16/27] media/i2c/tda7432: " Ricardo Ribalda Delgado
                   ` (12 subsequent siblings)
  27 siblings, 0 replies; 32+ messages in thread
From: Ricardo Ribalda Delgado @ 2015-06-12 13:12 UTC (permalink / raw)
  To: Hans Verkuil, Sakari Ailus, Laurent Pinchart,
	Mauro Carvalho Chehab, Guennadi Liakhovetski, linux-media
  Cc: Ricardo Ribalda Delgado

Via control framework.

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
---
 drivers/media/i2c/sr030pc30.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/media/i2c/sr030pc30.c b/drivers/media/i2c/sr030pc30.c
index b62b6ddc4356..23836801218a 100644
--- a/drivers/media/i2c/sr030pc30.c
+++ b/drivers/media/i2c/sr030pc30.c
@@ -637,6 +637,7 @@ static const struct v4l2_ctrl_ops sr030pc30_ctrl_ops = {
 static const struct v4l2_subdev_core_ops sr030pc30_core_ops = {
 	.s_power	= sr030pc30_s_power,
 	.g_ext_ctrls = v4l2_subdev_g_ext_ctrls,
+	.g_def_ext_ctrls = v4l2_subdev_g_def_ext_ctrls,
 	.try_ext_ctrls = v4l2_subdev_try_ext_ctrls,
 	.s_ext_ctrls = v4l2_subdev_s_ext_ctrls,
 	.g_ctrl = v4l2_subdev_g_ctrl,
-- 
2.1.4

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

* [RFC v2 16/27] media/i2c/tda7432: Implement g_def_ext_ctrls core_op
  2015-06-12 13:11 [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
                   ` (14 preceding siblings ...)
  2015-06-12 13:12 ` [RFC v2 15/27] media/i2c/sr030pc30: " Ricardo Ribalda Delgado
@ 2015-06-12 13:12 ` Ricardo Ribalda Delgado
  2015-06-12 13:12 ` [RFC v2 17/27] media/i2c/tlv320aic23b: " Ricardo Ribalda Delgado
                   ` (11 subsequent siblings)
  27 siblings, 0 replies; 32+ messages in thread
From: Ricardo Ribalda Delgado @ 2015-06-12 13:12 UTC (permalink / raw)
  To: Hans Verkuil, Sakari Ailus, Laurent Pinchart,
	Mauro Carvalho Chehab, Guennadi Liakhovetski, linux-media
  Cc: Ricardo Ribalda Delgado

Via control framework.

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
---
 drivers/media/i2c/tda7432.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/media/i2c/tda7432.c b/drivers/media/i2c/tda7432.c
index cf93021a6500..efff7d48ce9e 100644
--- a/drivers/media/i2c/tda7432.c
+++ b/drivers/media/i2c/tda7432.c
@@ -332,6 +332,7 @@ static const struct v4l2_ctrl_ops tda7432_ctrl_ops = {
 static const struct v4l2_subdev_core_ops tda7432_core_ops = {
 	.log_status = tda7432_log_status,
 	.g_ext_ctrls = v4l2_subdev_g_ext_ctrls,
+	.g_def_ext_ctrls = v4l2_subdev_g_def_ext_ctrls,
 	.try_ext_ctrls = v4l2_subdev_try_ext_ctrls,
 	.s_ext_ctrls = v4l2_subdev_s_ext_ctrls,
 	.g_ctrl = v4l2_subdev_g_ctrl,
-- 
2.1.4

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

* [RFC v2 17/27] media/i2c/tlv320aic23b: Implement g_def_ext_ctrls core_op
  2015-06-12 13:11 [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
                   ` (15 preceding siblings ...)
  2015-06-12 13:12 ` [RFC v2 16/27] media/i2c/tda7432: " Ricardo Ribalda Delgado
@ 2015-06-12 13:12 ` Ricardo Ribalda Delgado
  2015-06-12 13:12 ` [RFC v2 18/27] media/i2c/tvaudio: " Ricardo Ribalda Delgado
                   ` (10 subsequent siblings)
  27 siblings, 0 replies; 32+ messages in thread
From: Ricardo Ribalda Delgado @ 2015-06-12 13:12 UTC (permalink / raw)
  To: Hans Verkuil, Sakari Ailus, Laurent Pinchart,
	Mauro Carvalho Chehab, Guennadi Liakhovetski, linux-media
  Cc: Ricardo Ribalda Delgado

Via control framework.

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
---
 drivers/media/i2c/tlv320aic23b.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/media/i2c/tlv320aic23b.c b/drivers/media/i2c/tlv320aic23b.c
index ef87f7b09ea2..4e279de8e194 100644
--- a/drivers/media/i2c/tlv320aic23b.c
+++ b/drivers/media/i2c/tlv320aic23b.c
@@ -123,6 +123,7 @@ static const struct v4l2_ctrl_ops tlv320aic23b_ctrl_ops = {
 static const struct v4l2_subdev_core_ops tlv320aic23b_core_ops = {
 	.log_status = tlv320aic23b_log_status,
 	.g_ext_ctrls = v4l2_subdev_g_ext_ctrls,
+	.g_def_ext_ctrls = v4l2_subdev_g_def_ext_ctrls,
 	.try_ext_ctrls = v4l2_subdev_try_ext_ctrls,
 	.s_ext_ctrls = v4l2_subdev_s_ext_ctrls,
 	.g_ctrl = v4l2_subdev_g_ctrl,
-- 
2.1.4

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

* [RFC v2 18/27] media/i2c/tvaudio: Implement g_def_ext_ctrls core_op
  2015-06-12 13:11 [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
                   ` (16 preceding siblings ...)
  2015-06-12 13:12 ` [RFC v2 17/27] media/i2c/tlv320aic23b: " Ricardo Ribalda Delgado
@ 2015-06-12 13:12 ` Ricardo Ribalda Delgado
  2015-06-12 13:12 ` [RFC v2 19/27] media/i2c/tvp514x: " Ricardo Ribalda Delgado
                   ` (9 subsequent siblings)
  27 siblings, 0 replies; 32+ messages in thread
From: Ricardo Ribalda Delgado @ 2015-06-12 13:12 UTC (permalink / raw)
  To: Hans Verkuil, Sakari Ailus, Laurent Pinchart,
	Mauro Carvalho Chehab, Guennadi Liakhovetski, linux-media
  Cc: Ricardo Ribalda Delgado

Via control framework.

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
---
 drivers/media/i2c/tvaudio.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/media/i2c/tvaudio.c b/drivers/media/i2c/tvaudio.c
index 0c50e5285cf6..05972a5d2c68 100644
--- a/drivers/media/i2c/tvaudio.c
+++ b/drivers/media/i2c/tvaudio.c
@@ -1856,6 +1856,7 @@ static const struct v4l2_ctrl_ops tvaudio_ctrl_ops = {
 static const struct v4l2_subdev_core_ops tvaudio_core_ops = {
 	.log_status = tvaudio_log_status,
 	.g_ext_ctrls = v4l2_subdev_g_ext_ctrls,
+	.g_def_ext_ctrls = v4l2_subdev_g_def_ext_ctrls,
 	.try_ext_ctrls = v4l2_subdev_try_ext_ctrls,
 	.s_ext_ctrls = v4l2_subdev_s_ext_ctrls,
 	.g_ctrl = v4l2_subdev_g_ctrl,
-- 
2.1.4

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

* [RFC v2 19/27] media/i2c/tvp514x: Implement g_def_ext_ctrls core_op
  2015-06-12 13:11 [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
                   ` (17 preceding siblings ...)
  2015-06-12 13:12 ` [RFC v2 18/27] media/i2c/tvaudio: " Ricardo Ribalda Delgado
@ 2015-06-12 13:12 ` Ricardo Ribalda Delgado
  2015-06-12 13:12 ` [RFC v2 20/27] media/i2c/tvp7002: " Ricardo Ribalda Delgado
                   ` (8 subsequent siblings)
  27 siblings, 0 replies; 32+ messages in thread
From: Ricardo Ribalda Delgado @ 2015-06-12 13:12 UTC (permalink / raw)
  To: Hans Verkuil, Sakari Ailus, Laurent Pinchart,
	Mauro Carvalho Chehab, Guennadi Liakhovetski, linux-media
  Cc: Ricardo Ribalda Delgado

Via control framework.

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
---
 drivers/media/i2c/tvp514x.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/media/i2c/tvp514x.c b/drivers/media/i2c/tvp514x.c
index 24e47279e30c..d69708aac627 100644
--- a/drivers/media/i2c/tvp514x.c
+++ b/drivers/media/i2c/tvp514x.c
@@ -959,6 +959,7 @@ static int tvp514x_set_pad_format(struct v4l2_subdev *sd,
 
 static const struct v4l2_subdev_core_ops tvp514x_core_ops = {
 	.g_ext_ctrls = v4l2_subdev_g_ext_ctrls,
+	.g_def_ext_ctrls = v4l2_subdev_g_def_ext_ctrls,
 	.try_ext_ctrls = v4l2_subdev_try_ext_ctrls,
 	.s_ext_ctrls = v4l2_subdev_s_ext_ctrls,
 	.g_ctrl = v4l2_subdev_g_ctrl,
-- 
2.1.4

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

* [RFC v2 20/27] media/i2c/tvp7002: Implement g_def_ext_ctrls core_op
  2015-06-12 13:11 [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
                   ` (18 preceding siblings ...)
  2015-06-12 13:12 ` [RFC v2 19/27] media/i2c/tvp514x: " Ricardo Ribalda Delgado
@ 2015-06-12 13:12 ` Ricardo Ribalda Delgado
  2015-06-12 13:12 ` [RFC v2 21/27] media/i2c/vpx3220: " Ricardo Ribalda Delgado
                   ` (7 subsequent siblings)
  27 siblings, 0 replies; 32+ messages in thread
From: Ricardo Ribalda Delgado @ 2015-06-12 13:12 UTC (permalink / raw)
  To: Hans Verkuil, Sakari Ailus, Laurent Pinchart,
	Mauro Carvalho Chehab, Guennadi Liakhovetski, linux-media
  Cc: Ricardo Ribalda Delgado

Via control framework.

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
---
 drivers/media/i2c/tvp7002.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/media/i2c/tvp7002.c b/drivers/media/i2c/tvp7002.c
index 05077cffd235..006170ebe3da 100644
--- a/drivers/media/i2c/tvp7002.c
+++ b/drivers/media/i2c/tvp7002.c
@@ -862,6 +862,7 @@ tvp7002_set_pad_format(struct v4l2_subdev *sd, struct v4l2_subdev_pad_config *cf
 static const struct v4l2_subdev_core_ops tvp7002_core_ops = {
 	.log_status = tvp7002_log_status,
 	.g_ext_ctrls = v4l2_subdev_g_ext_ctrls,
+	.g_def_ext_ctrls = v4l2_subdev_g_def_ext_ctrls,
 	.try_ext_ctrls = v4l2_subdev_try_ext_ctrls,
 	.s_ext_ctrls = v4l2_subdev_s_ext_ctrls,
 	.g_ctrl = v4l2_subdev_g_ctrl,
-- 
2.1.4

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

* [RFC v2 21/27] media/i2c/vpx3220: Implement g_def_ext_ctrls core_op
  2015-06-12 13:11 [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
                   ` (19 preceding siblings ...)
  2015-06-12 13:12 ` [RFC v2 20/27] media/i2c/tvp7002: " Ricardo Ribalda Delgado
@ 2015-06-12 13:12 ` Ricardo Ribalda Delgado
  2015-06-12 13:12 ` [RFC v2 22/27] media/i2c/wm8739: " Ricardo Ribalda Delgado
                   ` (6 subsequent siblings)
  27 siblings, 0 replies; 32+ messages in thread
From: Ricardo Ribalda Delgado @ 2015-06-12 13:12 UTC (permalink / raw)
  To: Hans Verkuil, Sakari Ailus, Laurent Pinchart,
	Mauro Carvalho Chehab, Guennadi Liakhovetski, linux-media
  Cc: Ricardo Ribalda Delgado

Via control framework.

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
---
 drivers/media/i2c/vpx3220.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/media/i2c/vpx3220.c b/drivers/media/i2c/vpx3220.c
index 016e766e72ba..60d635250b19 100644
--- a/drivers/media/i2c/vpx3220.c
+++ b/drivers/media/i2c/vpx3220.c
@@ -451,6 +451,7 @@ static const struct v4l2_ctrl_ops vpx3220_ctrl_ops = {
 static const struct v4l2_subdev_core_ops vpx3220_core_ops = {
 	.init = vpx3220_init,
 	.g_ext_ctrls = v4l2_subdev_g_ext_ctrls,
+	.g_def_ext_ctrls = v4l2_subdev_g_def_ext_ctrls,
 	.try_ext_ctrls = v4l2_subdev_try_ext_ctrls,
 	.s_ext_ctrls = v4l2_subdev_s_ext_ctrls,
 	.g_ctrl = v4l2_subdev_g_ctrl,
-- 
2.1.4

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

* [RFC v2 22/27] media/i2c/wm8739: Implement g_def_ext_ctrls core_op
  2015-06-12 13:11 [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
                   ` (20 preceding siblings ...)
  2015-06-12 13:12 ` [RFC v2 21/27] media/i2c/vpx3220: " Ricardo Ribalda Delgado
@ 2015-06-12 13:12 ` Ricardo Ribalda Delgado
  2015-06-12 13:12 ` [RFC v2 23/27] media/i2c/wm8775: " Ricardo Ribalda Delgado
                   ` (5 subsequent siblings)
  27 siblings, 0 replies; 32+ messages in thread
From: Ricardo Ribalda Delgado @ 2015-06-12 13:12 UTC (permalink / raw)
  To: Hans Verkuil, Sakari Ailus, Laurent Pinchart,
	Mauro Carvalho Chehab, Guennadi Liakhovetski, linux-media
  Cc: Ricardo Ribalda Delgado

Via control framework.

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
---
 drivers/media/i2c/wm8739.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/media/i2c/wm8739.c b/drivers/media/i2c/wm8739.c
index 3be73f6a40e9..003c07bee16f 100644
--- a/drivers/media/i2c/wm8739.c
+++ b/drivers/media/i2c/wm8739.c
@@ -177,6 +177,7 @@ static const struct v4l2_ctrl_ops wm8739_ctrl_ops = {
 static const struct v4l2_subdev_core_ops wm8739_core_ops = {
 	.log_status = wm8739_log_status,
 	.g_ext_ctrls = v4l2_subdev_g_ext_ctrls,
+	.g_def_ext_ctrls = v4l2_subdev_g_def_ext_ctrls,
 	.try_ext_ctrls = v4l2_subdev_try_ext_ctrls,
 	.s_ext_ctrls = v4l2_subdev_s_ext_ctrls,
 	.g_ctrl = v4l2_subdev_g_ctrl,
-- 
2.1.4

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

* [RFC v2 23/27] media/i2c/wm8775: Implement g_def_ext_ctrls core_op
  2015-06-12 13:11 [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
                   ` (21 preceding siblings ...)
  2015-06-12 13:12 ` [RFC v2 22/27] media/i2c/wm8739: " Ricardo Ribalda Delgado
@ 2015-06-12 13:12 ` Ricardo Ribalda Delgado
  2015-06-12 13:12 ` [RFC v2 24/27] media/pci/ivtv/ivtv-gpio: " Ricardo Ribalda Delgado
                   ` (4 subsequent siblings)
  27 siblings, 0 replies; 32+ messages in thread
From: Ricardo Ribalda Delgado @ 2015-06-12 13:12 UTC (permalink / raw)
  To: Hans Verkuil, Sakari Ailus, Laurent Pinchart,
	Mauro Carvalho Chehab, Guennadi Liakhovetski, linux-media
  Cc: Ricardo Ribalda Delgado

Via control framework.

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
---
 drivers/media/i2c/wm8775.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/media/i2c/wm8775.c b/drivers/media/i2c/wm8775.c
index bee7946faa7c..45d4873aca74 100644
--- a/drivers/media/i2c/wm8775.c
+++ b/drivers/media/i2c/wm8775.c
@@ -179,6 +179,7 @@ static const struct v4l2_ctrl_ops wm8775_ctrl_ops = {
 static const struct v4l2_subdev_core_ops wm8775_core_ops = {
 	.log_status = wm8775_log_status,
 	.g_ext_ctrls = v4l2_subdev_g_ext_ctrls,
+	.g_def_ext_ctrls = v4l2_subdev_g_def_ext_ctrls,
 	.try_ext_ctrls = v4l2_subdev_try_ext_ctrls,
 	.s_ext_ctrls = v4l2_subdev_s_ext_ctrls,
 	.g_ctrl = v4l2_subdev_g_ctrl,
-- 
2.1.4

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

* [RFC v2 24/27] media/pci/ivtv/ivtv-gpio: Implement g_def_ext_ctrls core_op
  2015-06-12 13:11 [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
                   ` (22 preceding siblings ...)
  2015-06-12 13:12 ` [RFC v2 23/27] media/i2c/wm8775: " Ricardo Ribalda Delgado
@ 2015-06-12 13:12 ` Ricardo Ribalda Delgado
  2015-06-12 13:12 ` [RFC v2 25/27] media/radio/saa7706h: " Ricardo Ribalda Delgado
                   ` (3 subsequent siblings)
  27 siblings, 0 replies; 32+ messages in thread
From: Ricardo Ribalda Delgado @ 2015-06-12 13:12 UTC (permalink / raw)
  To: Hans Verkuil, Sakari Ailus, Laurent Pinchart,
	Mauro Carvalho Chehab, Guennadi Liakhovetski, linux-media
  Cc: Ricardo Ribalda Delgado

Via control framework.

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
---
 drivers/media/pci/ivtv/ivtv-gpio.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/media/pci/ivtv/ivtv-gpio.c b/drivers/media/pci/ivtv/ivtv-gpio.c
index af52def700cc..d16f210670e2 100644
--- a/drivers/media/pci/ivtv/ivtv-gpio.c
+++ b/drivers/media/pci/ivtv/ivtv-gpio.c
@@ -314,6 +314,7 @@ static const struct v4l2_ctrl_ops gpio_ctrl_ops = {
 static const struct v4l2_subdev_core_ops subdev_core_ops = {
 	.log_status = subdev_log_status,
 	.g_ext_ctrls = v4l2_subdev_g_ext_ctrls,
+	.g_def_ext_ctrls = v4l2_subdev_g_def_ext_ctrls,
 	.try_ext_ctrls = v4l2_subdev_try_ext_ctrls,
 	.s_ext_ctrls = v4l2_subdev_s_ext_ctrls,
 	.g_ctrl = v4l2_subdev_g_ctrl,
-- 
2.1.4

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

* [RFC v2 25/27] media/radio/saa7706h: Implement g_def_ext_ctrls core_op
  2015-06-12 13:11 [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
                   ` (23 preceding siblings ...)
  2015-06-12 13:12 ` [RFC v2 24/27] media/pci/ivtv/ivtv-gpio: " Ricardo Ribalda Delgado
@ 2015-06-12 13:12 ` Ricardo Ribalda Delgado
  2015-06-12 13:12 ` [RFC v2 26/27] Docbook: media: new ioctl VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
                   ` (2 subsequent siblings)
  27 siblings, 0 replies; 32+ messages in thread
From: Ricardo Ribalda Delgado @ 2015-06-12 13:12 UTC (permalink / raw)
  To: Hans Verkuil, Sakari Ailus, Laurent Pinchart,
	Mauro Carvalho Chehab, Guennadi Liakhovetski, linux-media
  Cc: Ricardo Ribalda Delgado

Via control framework.

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
---
 drivers/media/radio/saa7706h.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/media/radio/saa7706h.c b/drivers/media/radio/saa7706h.c
index ec805b09c608..cac1496da7e2 100644
--- a/drivers/media/radio/saa7706h.c
+++ b/drivers/media/radio/saa7706h.c
@@ -338,6 +338,7 @@ static const struct v4l2_ctrl_ops saa7706h_ctrl_ops = {
 
 static const struct v4l2_subdev_core_ops saa7706h_core_ops = {
 	.g_ext_ctrls = v4l2_subdev_g_ext_ctrls,
+	.g_def_ext_ctrls = v4l2_subdev_g_def_ext_ctrls,
 	.try_ext_ctrls = v4l2_subdev_try_ext_ctrls,
 	.s_ext_ctrls = v4l2_subdev_s_ext_ctrls,
 	.g_ctrl = v4l2_subdev_g_ctrl,
-- 
2.1.4

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

* [RFC v2 26/27] Docbook: media: new ioctl VIDIOC_G_DEF_EXT_CTRLS
  2015-06-12 13:11 [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
                   ` (24 preceding siblings ...)
  2015-06-12 13:12 ` [RFC v2 25/27] media/radio/saa7706h: " Ricardo Ribalda Delgado
@ 2015-06-12 13:12 ` Ricardo Ribalda Delgado
  2015-06-12 13:12 ` [RFC v2 27/27] Documentation: media: Fix code sample Ricardo Ribalda Delgado
  2015-06-12 13:41 ` [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS Hans Verkuil
  27 siblings, 0 replies; 32+ messages in thread
From: Ricardo Ribalda Delgado @ 2015-06-12 13:12 UTC (permalink / raw)
  To: Hans Verkuil, Sakari Ailus, Laurent Pinchart,
	Mauro Carvalho Chehab, Guennadi Liakhovetski, linux-media
  Cc: Ricardo Ribalda Delgado

Add documentation for new ioctl.

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
---
 Documentation/DocBook/media/v4l/v4l2.xml               |  8 ++++++++
 Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml | 13 +++++++++----
 Documentation/video4linux/v4l2-controls.txt            |  3 ++-
 Documentation/video4linux/v4l2-framework.txt           |  1 +
 Documentation/zh_CN/video4linux/v4l2-framework.txt     |  1 +
 5 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/Documentation/DocBook/media/v4l/v4l2.xml b/Documentation/DocBook/media/v4l/v4l2.xml
index e98caa1c39bd..027cf8408382 100644
--- a/Documentation/DocBook/media/v4l/v4l2.xml
+++ b/Documentation/DocBook/media/v4l/v4l2.xml
@@ -153,6 +153,14 @@ structs, ioctls) must be noted in more detail in the history chapter
 applications. -->
 
       <revision>
+	<revnumber>4.2</revnumber>
+	<date>2015-06-12</date>
+	<authorinitials>rr</authorinitials>
+	<revremark>Extend &vidioc-g-ext-ctrls;. Add ioctl <constant>VIDIOC_G_DEF_EXT_CTRLS</constant>
+to get the default value of multiple controls.
+	</revremark>
+      </revision>
+      <revision>
 	<revnumber>3.21</revnumber>
 	<date>2015-02-13</date>
 	<authorinitials>mcc</authorinitials>
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml b/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml
index c5bdbfcc42b3..5f8283a7e288 100644
--- a/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml
@@ -1,12 +1,13 @@
 <refentry id="vidioc-g-ext-ctrls">
   <refmeta>
     <refentrytitle>ioctl VIDIOC_G_EXT_CTRLS, VIDIOC_S_EXT_CTRLS,
-VIDIOC_TRY_EXT_CTRLS</refentrytitle>
+VIDIOC_TRY_EXT_CTRLS, VIDIOC_G_DEF_EXT_CTRLS</refentrytitle>
     &manvol;
   </refmeta>
 
   <refnamediv>
     <refname>VIDIOC_G_EXT_CTRLS</refname>
+    <refname>VIDIOC_G_DEF_EXT_CTRLS</refname>
     <refname>VIDIOC_S_EXT_CTRLS</refname>
     <refname>VIDIOC_TRY_EXT_CTRLS</refname>
     <refpurpose>Get or set the value of several controls, try control
@@ -39,7 +40,7 @@ values</refpurpose>
 	<term><parameter>request</parameter></term>
 	<listitem>
 	  <para>VIDIOC_G_EXT_CTRLS, VIDIOC_S_EXT_CTRLS,
-VIDIOC_TRY_EXT_CTRLS</para>
+VIDIOC_TRY_EXT_CTRLS, VIDIOC_G_DEF_EXT_CTRLS</para>
 	</listitem>
       </varlistentry>
       <varlistentry>
@@ -74,7 +75,10 @@ of each &v4l2-ext-control; and call the
 <constant>VIDIOC_G_EXT_CTRLS</constant> ioctl. String controls controls
 must also set the <structfield>string</structfield> field. Controls
 of compound types (<constant>V4L2_CTRL_FLAG_HAS_PAYLOAD</constant> is set)
-must set the <structfield>ptr</structfield> field.</para>
+must set the <structfield>ptr</structfield> field. To get the default value
+instead of the current value, call the
+<constant>VIDIOC_G_DEF_EXT_CTRLS</constant> ioctl with the same arguments.
+</para>
 
     <para>If the <structfield>size</structfield> is too small to
 receive the control result (only relevant for pointer-type controls
@@ -141,7 +145,8 @@ application.</entry>
 	    <entry>The total size in bytes of the payload of this
 control. This is normally 0, but for pointer controls this should be
 set to the size of the memory containing the payload, or that will
-receive the payload. If <constant>VIDIOC_G_EXT_CTRLS</constant> finds
+receive the payload. If <constant>VIDIOC_G_EXT_CTRLS</constant>
+or <constant>VIDIOC_G_DEF_EXT_CTRLS</constant> finds
 that this value is less than is required to store
 the payload result, then it is set to a value large enough to store the
 payload result and ENOSPC is returned. Note that for string controls
diff --git a/Documentation/video4linux/v4l2-controls.txt b/Documentation/video4linux/v4l2-controls.txt
index 5517db602f37..7e3dfcacdbee 100644
--- a/Documentation/video4linux/v4l2-controls.txt
+++ b/Documentation/video4linux/v4l2-controls.txt
@@ -79,7 +79,8 @@ Basic usage for V4L2 and sub-device drivers
 
   Finally, remove all control functions from your v4l2_ioctl_ops (if any):
   vidioc_queryctrl, vidioc_query_ext_ctrl, vidioc_querymenu, vidioc_g_ctrl,
-  vidioc_s_ctrl, vidioc_g_ext_ctrls, vidioc_try_ext_ctrls and vidioc_s_ext_ctrls.
+  vidioc_s_ctrl, vidioc_g_ext_ctrls, vidioc_try_ext_ctrls,
+  vidioc_g_def_ext_ctrls, and vidioc_s_ext_ctrls.
   Those are now no longer needed.
 
 1.3.2) For sub-device drivers do this:
diff --git a/Documentation/video4linux/v4l2-framework.txt b/Documentation/video4linux/v4l2-framework.txt
index 75d5c18d689a..4672396f48b1 100644
--- a/Documentation/video4linux/v4l2-framework.txt
+++ b/Documentation/video4linux/v4l2-framework.txt
@@ -462,6 +462,7 @@ VIDIOC_QUERYMENU
 VIDIOC_G_CTRL
 VIDIOC_S_CTRL
 VIDIOC_G_EXT_CTRLS
+VIDIOC_G_DEF_EXT_CTRLS
 VIDIOC_S_EXT_CTRLS
 VIDIOC_TRY_EXT_CTRLS
 
diff --git a/Documentation/zh_CN/video4linux/v4l2-framework.txt b/Documentation/zh_CN/video4linux/v4l2-framework.txt
index 2b828e631e31..b8c0d6fb6595 100644
--- a/Documentation/zh_CN/video4linux/v4l2-framework.txt
+++ b/Documentation/zh_CN/video4linux/v4l2-framework.txt
@@ -401,6 +401,7 @@ VIDIOC_QUERYMENU
 VIDIOC_G_CTRL
 VIDIOC_S_CTRL
 VIDIOC_G_EXT_CTRLS
+VIDIOC_G_DEF_EXT_CTRLS
 VIDIOC_S_EXT_CTRLS
 VIDIOC_TRY_EXT_CTRLS
 
-- 
2.1.4

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

* [RFC v2 27/27] Documentation: media: Fix code sample
  2015-06-12 13:11 [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
                   ` (25 preceding siblings ...)
  2015-06-12 13:12 ` [RFC v2 26/27] Docbook: media: new ioctl VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
@ 2015-06-12 13:12 ` Ricardo Ribalda Delgado
  2015-06-12 13:41 ` [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS Hans Verkuil
  27 siblings, 0 replies; 32+ messages in thread
From: Ricardo Ribalda Delgado @ 2015-06-12 13:12 UTC (permalink / raw)
  To: Hans Verkuil, Sakari Ailus, Laurent Pinchart,
	Mauro Carvalho Chehab, Guennadi Liakhovetski, linux-media
  Cc: Ricardo Ribalda Delgado

Add newly created core op to the example.

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
---
 Documentation/video4linux/v4l2-controls.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/video4linux/v4l2-controls.txt b/Documentation/video4linux/v4l2-controls.txt
index 7e3dfcacdbee..1d25de0199c4 100644
--- a/Documentation/video4linux/v4l2-controls.txt
+++ b/Documentation/video4linux/v4l2-controls.txt
@@ -105,6 +105,7 @@ Basic usage for V4L2 and sub-device drivers
 	.g_ctrl = v4l2_subdev_g_ctrl,
 	.s_ctrl = v4l2_subdev_s_ctrl,
 	.g_ext_ctrls = v4l2_subdev_g_ext_ctrls,
+	.g_def_ext_ctrls = v4l2_subdev_g_def_ext_ctrls,
 	.try_ext_ctrls = v4l2_subdev_try_ext_ctrls,
 	.s_ext_ctrls = v4l2_subdev_s_ext_ctrls,
 
-- 
2.1.4

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

* Re: [RFC v2 00/27]  New ioct VIDIOC_G_DEF_EXT_CTRLS
  2015-06-12 13:11 [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
                   ` (26 preceding siblings ...)
  2015-06-12 13:12 ` [RFC v2 27/27] Documentation: media: Fix code sample Ricardo Ribalda Delgado
@ 2015-06-12 13:41 ` Hans Verkuil
  2015-06-12 13:55   ` Ricardo Ribalda Delgado
  2015-06-12 18:20   ` media_tree log has not been updated for about a month Tycho Lürsen
  27 siblings, 2 replies; 32+ messages in thread
From: Hans Verkuil @ 2015-06-12 13:41 UTC (permalink / raw)
  To: Ricardo Ribalda Delgado, Hans Verkuil, Sakari Ailus,
	Laurent Pinchart, Mauro Carvalho Chehab, Guennadi Liakhovetski,
	linux-media

On 06/12/2015 03:11 PM, Ricardo Ribalda Delgado wrote:
> Integer controls provide a way to get their default/initial value, but
> any other control (p_u32, p_u8.....) provide no other way to get the
> initial value than unloading the module and loading it back.
> 
> *What is the actual problem?
> I have a custom control with WIDTH integer values. Every value
> represents the calibrated FPN (fixed pattern noise) correction value for that
> column
> -Application A changes the FPN correction value
> -Application B wants to restore the calibrated value but it cant :(
> 
> *What is the proposed solution?
> -Add a new ioctl VIDIOC_G_DEF_EXT_CTRLS, with the same API as
> G_EXT_CTRLS, but that returns the initial value of a given control.
> 
> 
> I have posted a copy of my working tree to
> 
> https://github.com/ribalda/linux/tree/g_def_ext
> 
> It has been tested with a hacked version of yavta (for normal controls) and a
> custom program for the array control.
> 
> Changelog v2:
> -Add documentation
> -Split in multiple patches
> -Comments by Hans:
>   -Rename ioctl to G_DEF_EXT_CTRL
>   -Much! better implementation of def_to_user
> 
> 
> THANKS!
> 
> Ricardo Ribalda Delgado (27):
>   media/v4l2-core: Add argument def_value to g_ext_ctrl
>   media/v4l2-core: add new ioctl VIDIOC_G_DEF_EXT_CTRLS
>   videodev2.h: Fix typo in comment
>   v4l2-subdev: Add g_def_ext_ctrls to core_ops
>   media/i2c/adv7343: Implement g_def_ext_ctrls core_op
>   media/i2c/adv7393: Implement g_def_ext_ctrls core_op
>   media/i2c/bt819: Implement g_def_ext_ctrls core_op
>   media/i2c/cs5345: Implement g_def_ext_ctrls core_op
>   media/i2c/cs53l32a: Implement g_def_ext_ctrls core_op
>   media/i2c/cx25840/cx25840-core: Implement g_def_ext_ctrls core_op
>   media/i2c/msp3400-driver: Implement g_def_ext_ctrls core_op
>   media/i2c/saa7110: Implement g_def_ext_ctrls core_op
>   media/i2c/saa7115: Implement g_def_ext_ctrls core_op
>   media/i2c/saa717x: Implement g_def_ext_ctrls core_op
>   media/i2c/sr030pc30: Implement g_def_ext_ctrls core_op
>   media/i2c/tda7432: Implement g_def_ext_ctrls core_op
>   media/i2c/tlv320aic23b: Implement g_def_ext_ctrls core_op
>   media/i2c/tvaudio: Implement g_def_ext_ctrls core_op
>   media/i2c/tvp514x: Implement g_def_ext_ctrls core_op
>   media/i2c/tvp7002: Implement g_def_ext_ctrls core_op
>   media/i2c/vpx3220: Implement g_def_ext_ctrls core_op
>   media/i2c/wm8739: Implement g_def_ext_ctrls core_op
>   media/i2c/wm8775: Implement g_def_ext_ctrls core_op
>   media/pci/ivtv/ivtv-gpio: Implement g_def_ext_ctrls core_op
>   media/radio/saa7706h: Implement g_def_ext_ctrls core_op

I did a quick analysis and for the following i2c modules you can just remove the
compat control ops altogether since they are no longer used in old non-control-framework
bridge drivers:

saa7706
ivtv-gpio
wm8739
tvp7002
tvp514x
tvl320aic23b
tda7432
sr030pc30
saa717x
cs5345
adv7393
adv7343

Also note that the uvc driver needs to be adapted manually since it can't use
the control framework. The ioctls are implemented in the driver itself.

Regards,

	Hans

>   Docbook: media: new ioctl VIDIOC_G_DEF_EXT_CTRLS
>   Documentation: media: Fix code sample
> 
>  Documentation/DocBook/media/v4l/v4l2.xml           |  8 ++++++
>  .../DocBook/media/v4l/vidioc-g-ext-ctrls.xml       | 13 ++++++---
>  Documentation/video4linux/v4l2-controls.txt        |  4 ++-
>  Documentation/video4linux/v4l2-framework.txt       |  1 +
>  Documentation/zh_CN/video4linux/v4l2-framework.txt |  1 +
>  drivers/media/i2c/adv7343.c                        |  1 +
>  drivers/media/i2c/adv7393.c                        |  1 +
>  drivers/media/i2c/bt819.c                          |  1 +
>  drivers/media/i2c/cs5345.c                         |  1 +
>  drivers/media/i2c/cs53l32a.c                       |  1 +
>  drivers/media/i2c/cx25840/cx25840-core.c           |  1 +
>  drivers/media/i2c/msp3400-driver.c                 |  1 +
>  drivers/media/i2c/saa7110.c                        |  1 +
>  drivers/media/i2c/saa7115.c                        |  1 +
>  drivers/media/i2c/saa717x.c                        |  1 +
>  drivers/media/i2c/sr030pc30.c                      |  1 +
>  drivers/media/i2c/tda7432.c                        |  1 +
>  drivers/media/i2c/tlv320aic23b.c                   |  1 +
>  drivers/media/i2c/tvaudio.c                        |  1 +
>  drivers/media/i2c/tvp514x.c                        |  1 +
>  drivers/media/i2c/tvp7002.c                        |  1 +
>  drivers/media/i2c/vpx3220.c                        |  1 +
>  drivers/media/i2c/wm8739.c                         |  1 +
>  drivers/media/i2c/wm8775.c                         |  1 +
>  drivers/media/pci/ivtv/ivtv-gpio.c                 |  1 +
>  drivers/media/platform/omap3isp/ispvideo.c         |  2 +-
>  drivers/media/radio/saa7706h.c                     |  1 +
>  drivers/media/v4l2-core/v4l2-compat-ioctl32.c      |  4 +++
>  drivers/media/v4l2-core/v4l2-ctrls.c               | 32 ++++++++++++++++++----
>  drivers/media/v4l2-core/v4l2-ioctl.c               | 25 +++++++++++++++--
>  drivers/media/v4l2-core/v4l2-subdev.c              |  5 +++-
>  include/media/v4l2-ctrls.h                         |  5 +++-
>  include/media/v4l2-ioctl.h                         |  2 ++
>  include/media/v4l2-subdev.h                        |  2 ++
>  include/uapi/linux/videodev2.h                     |  3 +-
>  35 files changed, 112 insertions(+), 16 deletions(-)
> 

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

* Re: [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS
  2015-06-12 13:41 ` [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS Hans Verkuil
@ 2015-06-12 13:55   ` Ricardo Ribalda Delgado
  2015-06-12 18:20   ` media_tree log has not been updated for about a month Tycho Lürsen
  1 sibling, 0 replies; 32+ messages in thread
From: Ricardo Ribalda Delgado @ 2015-06-12 13:55 UTC (permalink / raw)
  To: Hans Verkuil
  Cc: Hans Verkuil, Sakari Ailus, Laurent Pinchart,
	Mauro Carvalho Chehab, Guennadi Liakhovetski, linux-media

Hello Hans

On Fri, Jun 12, 2015 at 3:41 PM, Hans Verkuil <hverkuil@xs4all.nl> wrote:

>
> I did a quick analysis and for the following i2c modules you can just remove the
> compat control ops altogether since they are no longer used in old non-control-framework
> bridge drivers:
>
> saa7706
> ivtv-gpio
> wm8739
> tvp7002
> tvp514x
> tvl320aic23b
> tda7432
> sr030pc30
> saa717x
> cs5345
> adv7393
> adv7343
>
> Also note that the uvc driver needs to be adapted manually since it can't use
> the control framework. The ioctls are implemented in the driver itself.

Would it make sense to split this patchset in two?

1) This patchset - all i2c modules that dont need compat control ops +
uvc driver
2) A new patchset removing compat control ops on the list that you provided

Thanks

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

* media_tree log has not been updated for about a month
  2015-06-12 13:41 ` [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS Hans Verkuil
  2015-06-12 13:55   ` Ricardo Ribalda Delgado
@ 2015-06-12 18:20   ` Tycho Lürsen
  2015-06-12 19:52     ` Mauro Carvalho Chehab
  1 sibling, 1 reply; 32+ messages in thread
From: Tycho Lürsen @ 2015-06-12 18:20 UTC (permalink / raw)
  To: linux-media

Hi all,
I don't know who is responsible for a functioning web frontend of your 
development tree in git.
The thing is: http://git.linuxtv.org/cgit.cgi/media_tree.git/log/ has 
not been updated for about a month.
It still shows   356484cabe44984d2dc66a90bd5e3465ba1f64fb ([media] 
dw2102: resync fifo when demod locks) as the last commit.
That is very inconvenient to me.
Can anyone fix this, please?

Kind regards,
Tycho.

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

* Re: media_tree log has not been updated for about a month
  2015-06-12 18:20   ` media_tree log has not been updated for about a month Tycho Lürsen
@ 2015-06-12 19:52     ` Mauro Carvalho Chehab
  0 siblings, 0 replies; 32+ messages in thread
From: Mauro Carvalho Chehab @ 2015-06-12 19:52 UTC (permalink / raw)
  To: Tycho Lürsen, linux-media

Em 12 de junho de 2015 15:20:56 BRT, "Tycho Lürsen" <tycholursen@gmail.com> escreveu:
>Hi all,
>I don't know who is responsible for a functioning web frontend of your 
>development tree in git.
>The thing is: http://git.linuxtv.org/cgit.cgi/media_tree.git/log/ has 
>not been updated for about a month.
>It still shows   356484cabe44984d2dc66a90bd5e3465ba1f64fb ([media] 
>dw2102: resync fifo when demod locks) as the last commit.
>That is very inconvenient to me.
>Can anyone fix this, please?
>
>Kind regards,
>Tycho.
>--
>To unsubscribe from this list: send the line "unsubscribe linux-media"
>in
>the body of a message to majordomo@vger.kernel.org
>More majordomo info at  http://vger.kernel.org/majordomo-info.html

Not sure what happened.  Just removed the cache manually. Please test again.

Cheers,
Mauro

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

end of thread, other threads:[~2015-06-12 19:53 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-06-12 13:11 [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
2015-06-12 13:11 ` [RFC v2 01/27] media/v4l2-core: Add argument def_value to g_ext_ctrl Ricardo Ribalda Delgado
2015-06-12 13:11 ` [RFC v2 02/27] media/v4l2-core: add new ioctl VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
2015-06-12 13:11 ` [RFC v2 03/27] videodev2.h: Fix typo in comment Ricardo Ribalda Delgado
2015-06-12 13:11 ` [RFC v2 04/27] v4l2-subdev: Add g_def_ext_ctrls to core_ops Ricardo Ribalda Delgado
2015-06-12 13:11 ` [RFC v2 05/27] media/i2c/adv7343: Implement g_def_ext_ctrls core_op Ricardo Ribalda Delgado
2015-06-12 13:12 ` [RFC v2 06/27] media/i2c/adv7393: " Ricardo Ribalda Delgado
2015-06-12 13:12 ` [RFC v2 07/27] media/i2c/bt819: " Ricardo Ribalda Delgado
2015-06-12 13:12 ` [RFC v2 08/27] media/i2c/cs5345: " Ricardo Ribalda Delgado
2015-06-12 13:12 ` [RFC v2 09/27] media/i2c/cs53l32a: " Ricardo Ribalda Delgado
2015-06-12 13:12 ` [RFC v2 10/27] media/i2c/cx25840/cx25840-core: " Ricardo Ribalda Delgado
2015-06-12 13:12 ` [RFC v2 11/27] media/i2c/msp3400-driver: " Ricardo Ribalda Delgado
2015-06-12 13:12 ` [RFC v2 12/27] media/i2c/saa7110: " Ricardo Ribalda Delgado
2015-06-12 13:12 ` [RFC v2 13/27] media/i2c/saa7115: " Ricardo Ribalda Delgado
2015-06-12 13:12 ` [RFC v2 14/27] media/i2c/saa717x: " Ricardo Ribalda Delgado
2015-06-12 13:12 ` [RFC v2 15/27] media/i2c/sr030pc30: " Ricardo Ribalda Delgado
2015-06-12 13:12 ` [RFC v2 16/27] media/i2c/tda7432: " Ricardo Ribalda Delgado
2015-06-12 13:12 ` [RFC v2 17/27] media/i2c/tlv320aic23b: " Ricardo Ribalda Delgado
2015-06-12 13:12 ` [RFC v2 18/27] media/i2c/tvaudio: " Ricardo Ribalda Delgado
2015-06-12 13:12 ` [RFC v2 19/27] media/i2c/tvp514x: " Ricardo Ribalda Delgado
2015-06-12 13:12 ` [RFC v2 20/27] media/i2c/tvp7002: " Ricardo Ribalda Delgado
2015-06-12 13:12 ` [RFC v2 21/27] media/i2c/vpx3220: " Ricardo Ribalda Delgado
2015-06-12 13:12 ` [RFC v2 22/27] media/i2c/wm8739: " Ricardo Ribalda Delgado
2015-06-12 13:12 ` [RFC v2 23/27] media/i2c/wm8775: " Ricardo Ribalda Delgado
2015-06-12 13:12 ` [RFC v2 24/27] media/pci/ivtv/ivtv-gpio: " Ricardo Ribalda Delgado
2015-06-12 13:12 ` [RFC v2 25/27] media/radio/saa7706h: " Ricardo Ribalda Delgado
2015-06-12 13:12 ` [RFC v2 26/27] Docbook: media: new ioctl VIDIOC_G_DEF_EXT_CTRLS Ricardo Ribalda Delgado
2015-06-12 13:12 ` [RFC v2 27/27] Documentation: media: Fix code sample Ricardo Ribalda Delgado
2015-06-12 13:41 ` [RFC v2 00/27] New ioct VIDIOC_G_DEF_EXT_CTRLS Hans Verkuil
2015-06-12 13:55   ` Ricardo Ribalda Delgado
2015-06-12 18:20   ` media_tree log has not been updated for about a month Tycho Lürsen
2015-06-12 19:52     ` Mauro Carvalho Chehab

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.