aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil@xs4all.nl>2009-06-14 04:20:21 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-06-23 02:14:31 -0400
commitc6711c3e6d4976716633047c0f6bbd953d6831fb (patch)
treeca6bace327d774d50f429ac6ace9bfb30fa14b93
parenta4c473033b6a100773a4fd8b7ba1e45baeb1e692 (diff)
V4L/DVB (12104): ivtv/cx18: fix regression: class controls are no longer seen
A previous change (v4l2-common: remove v4l2_ctrl_query_fill_std) broke the handling of class controls in VIDIOC_QUERYCTRL. The MPEG class control was broken for all drivers that use the cx2341x module and the USER class control was broken for ivtv and cx18. This change adds back proper class control support. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/video/cx18/cx18-controls.c2
-rw-r--r--drivers/media/video/cx2341x.c2
-rw-r--r--drivers/media/video/ivtv/ivtv-controls.c2
3 files changed, 6 insertions, 0 deletions
diff --git a/drivers/media/video/cx18/cx18-controls.c b/drivers/media/video/cx18/cx18-controls.c
index 8e35c3aed544..5136df198338 100644
--- a/drivers/media/video/cx18/cx18-controls.c
+++ b/drivers/media/video/cx18/cx18-controls.c
@@ -61,6 +61,8 @@ int cx18_queryctrl(struct file *file, void *fh, struct v4l2_queryctrl *qctrl)
61 61
62 switch (qctrl->id) { 62 switch (qctrl->id) {
63 /* Standard V4L2 controls */ 63 /* Standard V4L2 controls */
64 case V4L2_CID_USER_CLASS:
65 return v4l2_ctrl_query_fill(qctrl, 0, 0, 0, 0);
64 case V4L2_CID_BRIGHTNESS: 66 case V4L2_CID_BRIGHTNESS:
65 case V4L2_CID_HUE: 67 case V4L2_CID_HUE:
66 case V4L2_CID_SATURATION: 68 case V4L2_CID_SATURATION:
diff --git a/drivers/media/video/cx2341x.c b/drivers/media/video/cx2341x.c
index 8ded52946334..4c8e95853fa3 100644
--- a/drivers/media/video/cx2341x.c
+++ b/drivers/media/video/cx2341x.c
@@ -500,6 +500,8 @@ int cx2341x_ctrl_query(const struct cx2341x_mpeg_params *params,
500 int err; 500 int err;
501 501
502 switch (qctrl->id) { 502 switch (qctrl->id) {
503 case V4L2_CID_MPEG_CLASS:
504 return v4l2_ctrl_query_fill(qctrl, 0, 0, 0, 0);
503 case V4L2_CID_MPEG_STREAM_TYPE: 505 case V4L2_CID_MPEG_STREAM_TYPE:
504 return v4l2_ctrl_query_fill(qctrl, 506 return v4l2_ctrl_query_fill(qctrl,
505 V4L2_MPEG_STREAM_TYPE_MPEG2_PS, 507 V4L2_MPEG_STREAM_TYPE_MPEG2_PS,
diff --git a/drivers/media/video/ivtv/ivtv-controls.c b/drivers/media/video/ivtv/ivtv-controls.c
index 84995bcf4a75..a3b77ed3f089 100644
--- a/drivers/media/video/ivtv/ivtv-controls.c
+++ b/drivers/media/video/ivtv/ivtv-controls.c
@@ -60,6 +60,8 @@ int ivtv_queryctrl(struct file *file, void *fh, struct v4l2_queryctrl *qctrl)
60 60
61 switch (qctrl->id) { 61 switch (qctrl->id) {
62 /* Standard V4L2 controls */ 62 /* Standard V4L2 controls */
63 case V4L2_CID_USER_CLASS:
64 return v4l2_ctrl_query_fill(qctrl, 0, 0, 0, 0);
63 case V4L2_CID_BRIGHTNESS: 65 case V4L2_CID_BRIGHTNESS:
64 case V4L2_CID_HUE: 66 case V4L2_CID_HUE:
65 case V4L2_CID_SATURATION: 67 case V4L2_CID_SATURATION: