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>
This commit is contained in:
Devin Heitmueller 2009-03-11 03:00:58 -03:00 committed by Mauro Carvalho Chehab
parent b80f770a98
commit d9109bef4b
3 changed files with 12 additions and 0 deletions

View File

@ -636,6 +636,7 @@ static int au8522_queryctrl(struct v4l2_subdev *sd, struct v4l2_queryctrl *qc)
break;
}
qc->type = 0;
return -EINVAL;
}

View File

@ -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;
}

View File

@ -70,6 +70,9 @@ enum {
V4L2_IDENT_CX23416 = 416,
V4L2_IDENT_CX23418 = 418,
/* module au0828 */
V4L2_IDENT_AU0828 = 828,
/* module indycam: just ident 2000 */
V4L2_IDENT_INDYCAM = 2000,