aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDevin Heitmueller <dheitmueller@linuxtv.org>2009-03-11 02:00:58 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-03-30 11:43:26 -0400
commitd9109bef4b4f501eee94ae68bf876f765d5c6941 (patch)
tree334a4d4717e95571ae057e7f2422278144948b12
parentb80f770a981db1d1f5a41626792c701f8c5bf973 (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.c1
-rw-r--r--drivers/media/video/au0828/au0828-video.c8
-rw-r--r--include/media/v4l2-chip-ident.h3
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