diff options
author | Hans Verkuil <hverkuil@xs4all.nl> | 2009-06-14 04:20:21 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-06-23 02:14:31 -0400 |
commit | c6711c3e6d4976716633047c0f6bbd953d6831fb (patch) | |
tree | ca6bace327d774d50f429ac6ace9bfb30fa14b93 | |
parent | a4c473033b6a100773a4fd8b7ba1e45baeb1e692 (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.c | 2 | ||||
-rw-r--r-- | drivers/media/video/cx2341x.c | 2 | ||||
-rw-r--r-- | drivers/media/video/ivtv/ivtv-controls.c | 2 |
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: |