[media] it913x v1.23 use it913x_config.chip_ver to select firmware
authorMalcolm Priestley <tvboxspy@gmail.com>
Fri, 20 Jan 2012 22:07:18 +0000 (19:07 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 23 Jan 2012 19:52:05 +0000 (17:52 -0200)
As recommended by Jason at ITE, the chip version should select firmware.

However, to continue to support IT9137 firmware with different configuration
the driver will use udev->descriptor.idVendor to select the difference
between IT9135 and IT9137.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/dvb/dvb-usb/it913x.c

index 9f01cd7..50d578c 100644 (file)
@@ -388,19 +388,12 @@ static int ite_firmware_select(struct usb_device *udev,
 {
        int sw;
        /* auto switch */
-       if (le16_to_cpu(udev->descriptor.idProduct) ==
-                       USB_PID_ITETECH_IT9135)
-               sw = IT9135_V1_FW;
-       else if (le16_to_cpu(udev->descriptor.idProduct) ==
-                       USB_PID_ITETECH_IT9135_9005)
+       if (le16_to_cpu(udev->descriptor.idVendor) == USB_VID_KWORLD_2)
+               sw = IT9137_FW;
+       else if (it913x_config.chip_ver == 1)
                sw = IT9135_V1_FW;
-       else if (le16_to_cpu(udev->descriptor.idProduct) ==
-                       USB_PID_ITETECH_IT9135_9006) {
+       else
                sw = IT9135_V2_FW;
-               if (it913x_config.tuner_id_0 == 0)
-                       it913x_config.tuner_id_0 = IT9135_60;
-       } else
-               sw = IT9137_FW;
 
        /* force switch */
        if (dvb_usb_it913x_firmware != IT9135_AUTO)
@@ -416,6 +409,8 @@ static int ite_firmware_select(struct usb_device *udev,
                it913x_config.firmware_ver = 1;
                it913x_config.adc_x2 = 1;
                props->firmware = fw_it9135_v2;
+               if (it913x_config.tuner_id_0 == 0)
+                       it913x_config.tuner_id_0 = IT9135_60;
                break;
        case IT9137_FW:
        default:
@@ -823,5 +818,5 @@ module_usb_driver(it913x_driver);
 
 MODULE_AUTHOR("Malcolm Priestley <tvboxspy@gmail.com>");
 MODULE_DESCRIPTION("it913x USB 2 Driver");
-MODULE_VERSION("1.22");
+MODULE_VERSION("1.23");
 MODULE_LICENSE("GPL");