V4L/DVB: cx23885: Add correct detection of the HVR-1250 model 79501
authorAndy Walls <awalls@md.metrocast.net>
Sun, 18 Jul 2010 20:35:00 +0000 (17:35 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 9 Aug 2010 02:42:54 +0000 (23:42 -0300)
The offset in the eeprom data for the 79501 version of the HVR-1250 is at 0xc0
vs. the standard 0x80.

Signed-off-by: Andy Walls <awalls@md.metrocast.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/cx23885/cx23885-cards.c

index 2014daedee8b3b827bbffc11eab4095290ce356a..29eea8d3613b62396a3a191bbd1ade15a07fe26f 100644 (file)
@@ -626,6 +626,9 @@ static void hauppauge_eeprom(struct cx23885_dev *dev, u8 *eeprom_data)
        case 79101:
                /* WinTV-HVR1250 (PCIe, Retail, IR, half height,
                        ATSC and Basic analog */
+       case 79501:
+               /* WinTV-HVR1250 (PCIe, No IR, half height,
+                       ATSC [at least] and Basic analog) */
        case 79561:
                /* WinTV-HVR1250 (PCIe, OEM, No IR, half height,
                        ATSC and Basic analog */
@@ -1028,6 +1031,13 @@ void cx23885_card_setup(struct cx23885_dev *dev)
 
        switch (dev->board) {
        case CX23885_BOARD_HAUPPAUGE_HVR1250:
+               if (dev->i2c_bus[0].i2c_rc == 0) {
+                       if (eeprom[0x80] != 0x84)
+                               hauppauge_eeprom(dev, eeprom+0xc0);
+                       else
+                               hauppauge_eeprom(dev, eeprom+0x80);
+               }
+               break;
        case CX23885_BOARD_HAUPPAUGE_HVR1500:
        case CX23885_BOARD_HAUPPAUGE_HVR1500Q:
        case CX23885_BOARD_HAUPPAUGE_HVR1400: