diff options
author | Devin Heitmueller <dheitmueller@linuxtv.org> | 2009-03-11 02:00:58 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-03-30 11:43:26 -0400 |
commit | d9109bef4b4f501eee94ae68bf876f765d5c6941 (patch) | |
tree | 334a4d4717e95571ae057e7f2422278144948b12 | |
parent | b80f770a981db1d1f5a41626792c701f8c5bf973 (diff) |
V4L/DVB (11076): au0828: make g_chip_ident call work properly
Make the g_chip_ident call work for the au0828/au8522. Discovered when testing
with the v4l2_compliance tool
Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
[mchehab@redhat.com: fix merge conflict, due to a path change for analog demod]
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | drivers/media/dvb/frontends/au8522_decoder.c | 1 | ||||
-rw-r--r-- | drivers/media/video/au0828/au0828-video.c | 8 | ||||
-rw-r--r-- | include/media/v4l2-chip-ident.h | 3 |
3 files changed, 12 insertions, 0 deletions
diff --git a/drivers/media/dvb/frontends/au8522_decoder.c b/drivers/media/dvb/frontends/au8522_decoder.c index e2927c145cd8..564636389bae 100644 --- a/drivers/media/dvb/frontends/au8522_decoder.c +++ b/drivers/media/dvb/frontends/au8522_decoder.c | |||
@@ -636,6 +636,7 @@ static int au8522_queryctrl(struct v4l2_subdev *sd, struct v4l2_queryctrl *qc) | |||
636 | break; | 636 | break; |
637 | } | 637 | } |
638 | 638 | ||
639 | qc->type = 0; | ||
639 | return -EINVAL; | 640 | return -EINVAL; |
640 | } | 641 | } |
641 | 642 | ||
diff --git a/drivers/media/video/au0828/au0828-video.c b/drivers/media/video/au0828/au0828-video.c index 0dd138370b62..ce80882d45e2 100644 --- a/drivers/media/video/au0828/au0828-video.c +++ b/drivers/media/video/au0828/au0828-video.c | |||
@@ -1348,7 +1348,15 @@ static int vidioc_g_chip_ident(struct file *file, void *priv, | |||
1348 | chip->ident = V4L2_IDENT_NONE; | 1348 | chip->ident = V4L2_IDENT_NONE; |
1349 | chip->revision = 0; | 1349 | chip->revision = 0; |
1350 | 1350 | ||
1351 | if (v4l2_chip_match_host(&chip->match)) { | ||
1352 | chip->ident = V4L2_IDENT_AU0828; | ||
1353 | return 0; | ||
1354 | } | ||
1355 | |||
1351 | au0828_call_i2c_clients(dev, VIDIOC_DBG_G_CHIP_IDENT, chip); | 1356 | au0828_call_i2c_clients(dev, VIDIOC_DBG_G_CHIP_IDENT, chip); |
1357 | if (chip->ident == V4L2_IDENT_NONE) | ||
1358 | return -EINVAL; | ||
1359 | |||
1352 | return 0; | 1360 | return 0; |
1353 | } | 1361 | } |
1354 | 1362 | ||
diff --git a/include/media/v4l2-chip-ident.h b/include/media/v4l2-chip-ident.h index 43684f105fd8..ca2aa6d7e386 100644 --- a/include/media/v4l2-chip-ident.h +++ b/include/media/v4l2-chip-ident.h | |||
@@ -70,6 +70,9 @@ enum { | |||
70 | V4L2_IDENT_CX23416 = 416, | 70 | V4L2_IDENT_CX23416 = 416, |
71 | V4L2_IDENT_CX23418 = 418, | 71 | V4L2_IDENT_CX23418 = 418, |
72 | 72 | ||
73 | /* module au0828 */ | ||
74 | V4L2_IDENT_AU0828 = 828, | ||
75 | |||
73 | /* module indycam: just ident 2000 */ | 76 | /* module indycam: just ident 2000 */ |
74 | V4L2_IDENT_INDYCAM = 2000, | 77 | V4L2_IDENT_INDYCAM = 2000, |
75 | 78 | ||