[media] hdpvr: add two known to work firmware versions

refine the firmware version test and print the version only once

Signed-off-by: Janne Grunau <j@jannau.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
Janne Grunau 2010-07-27 11:03:35 -03:00 committed by Mauro Carvalho Chehab
parent 74a558b1f4
commit 35b53664d5
2 changed files with 18 additions and 13 deletions

View File

@ -156,19 +156,22 @@ static int device_authorization(struct hdpvr_device *dev)
v4l2_info(&dev->v4l2_dev, "firmware version 0x%x dated %s\n",
dev->usbc_buf[1], &dev->usbc_buf[2]);
if (dev->usbc_buf[1] == HDPVR_FIRMWARE_VERSION) {
switch (dev->usbc_buf[1]) {
case HDPVR_FIRMWARE_VERSION:
dev->flags &= ~HDPVR_FLAG_AC3_CAP;
} else if (dev->usbc_buf[1] == HDPVR_FIRMWARE_VERSION_AC3) {
break;
case HDPVR_FIRMWARE_VERSION_AC3:
case HDPVR_FIRMWARE_VERSION_0X12:
case HDPVR_FIRMWARE_VERSION_0X15:
dev->flags |= HDPVR_FLAG_AC3_CAP;
} else if (dev->usbc_buf[1] > HDPVR_FIRMWARE_VERSION_AC3) {
v4l2_info(&dev->v4l2_dev, "untested firmware version 0x%x, "
"the driver might not work\n", dev->usbc_buf[1]);
dev->flags |= HDPVR_FLAG_AC3_CAP;
} else {
v4l2_err(&dev->v4l2_dev, "unknown firmware version 0x%x\n",
dev->usbc_buf[1]);
ret = -EINVAL;
goto unlock;
break;
default:
v4l2_info(&dev->v4l2_dev, "untested firmware, the driver might"
" not work.\n");
if (dev->usbc_buf[1] >= HDPVR_FIRMWARE_VERSION_AC3)
dev->flags |= HDPVR_FLAG_AC3_CAP;
else
dev->flags &= ~HDPVR_FLAG_AC3_CAP;
}
response = dev->usbc_buf+38;

View File

@ -36,8 +36,10 @@
#define NUM_BUFFERS 64
#define HDPVR_FIRMWARE_VERSION 0x8
#define HDPVR_FIRMWARE_VERSION_AC3 0xd
#define HDPVR_FIRMWARE_VERSION 0x08
#define HDPVR_FIRMWARE_VERSION_AC3 0x0d
#define HDPVR_FIRMWARE_VERSION_0X12 0x12
#define HDPVR_FIRMWARE_VERSION_0X15 0x15
/* #define HDPVR_DEBUG */