summaryrefslogtreecommitdiffstats
path: root/drivers/media/video/au0828
diff options
context:
space:
mode:
authorDevin Heitmueller <dheitmueller@linuxtv.org>2009-03-11 03:00:58 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-03-30 12:43:26 -0300
commitd9109bef4b4f501eee94ae68bf876f765d5c6941 (patch)
tree334a4d4717e95571ae057e7f2422278144948b12 /drivers/media/video/au0828
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>
Diffstat (limited to 'drivers/media/video/au0828')
-rw-r--r--drivers/media/video/au0828/au0828-video.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/media/video/au0828/au0828-video.c b/drivers/media/video/au0828/au0828-video.c
index 0dd138370b6..ce80882d45e 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,
chip->ident = V4L2_IDENT_NONE;
chip->revision = 0;
+ if (v4l2_chip_match_host(&chip->match)) {
+ chip->ident = V4L2_IDENT_AU0828;
+ return 0;
+ }
+
au0828_call_i2c_clients(dev, VIDIOC_DBG_G_CHIP_IDENT, chip);
+ if (chip->ident == V4L2_IDENT_NONE)
+ return -EINVAL;
+
return 0;
}