linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / drivers / media / video / cx88 / cx88-cards.c
index f80154b..a24af92 100644 (file)
@@ -184,18 +184,17 @@ struct cx88_board cx88_boards[] = {
                .input          = {{
                        .type   = CX88_VMUX_TELEVISION,
                        .vmux   = 0,
-                       .gpio1  = 0xe09f,
+                       .gpio1  = 0x309f,
                },{
                        .type   = CX88_VMUX_COMPOSITE1,
                        .vmux   = 1,
-                       .gpio1  = 0xe05f,
+                       .gpio1  = 0x305f,
                },{
                        .type   = CX88_VMUX_SVIDEO,
                        .vmux   = 2,
-                       .gpio1  = 0xe05f,
+                       .gpio1  = 0x305f,
                }},
                .radio = {
-                       .gpio1  = 0xe0df,
                        .type   = CX88_RADIO,
                },
        },
@@ -323,19 +322,19 @@ struct cx88_board cx88_boards[] = {
                .input          = {{
                        .type   = CX88_VMUX_TELEVISION,
                        .vmux   = 0,
-                       .gpio0  = 0xbff0,
+                       .gpio0  = 0xff00,
                },{
                        .type   = CX88_VMUX_COMPOSITE1,
                        .vmux   = 1,
-                       .gpio0  = 0xbff3,
+                       .gpio0  = 0xff03,
                },{
                        .type   = CX88_VMUX_SVIDEO,
                        .vmux   = 2,
-                       .gpio0  = 0xbff3,
+                       .gpio0  = 0xff03,
                }},
                .radio = {
                        .type   = CX88_RADIO,
-                       .gpio0  = 0xbff0,
+                       .gpio0  = 0xff00,
                },
        },
        [CX88_BOARD_ASUS_PVR_416] = {
@@ -564,7 +563,7 @@ struct cx88_board cx88_boards[] = {
        },
        [CX88_BOARD_PCHDTV_HD3000] = {
                .name           = "pcHDTV HD3000 HDTV",
-               .tuner_type     = TUNER_THOMSON_DTT761X,
+               .tuner_type     = TUNER_THOMSON_DTT7610,
                .radio_type     = UNSET,
                .tuner_addr     = ADDR_UNSET,
                .radio_addr     = ADDR_UNSET,
@@ -1049,50 +1048,6 @@ struct cx88_board cx88_boards[] = {
                }},
                .dvb            = 1,
        },
-       [CX88_BOARD_KWORLD_HARDWARE_MPEG_TV_XPERT] = {
-               /* FIXME: Standard video using the cx88 broadcast decoder is
-                * working, but blackbird isn't working yet, audio is only
-                * working correctly for television mode. S-Video and Composite
-                * are working for video-only, so I have them disabled for now.
-                */
-               .name           = "KWorld HardwareMpegTV XPert",
-               .tuner_type     = TUNER_PHILIPS_TDA8290,
-               .radio_type     = UNSET,
-               .tuner_addr     = ADDR_UNSET,
-               .radio_addr     = ADDR_UNSET,
-               .input          = {{
-                       .type   = CX88_VMUX_TELEVISION,
-                       .vmux   = 0,
-                       .gpio0  = 0x3de2,
-                       .gpio2  = 0x00ff,
-               }},
-               .radio = {
-                       .type   = CX88_RADIO,
-                       .gpio0  = 0x3de6,
-                       .gpio2  = 0x00ff,
-               },
-       },
-       [CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_HYBRID] = {
-               .name           = "DViCO FusionHDTV DVB-T Hybrid",
-               .tuner_type     = TUNER_THOMSON_FE6600,
-               .radio_type     = UNSET,
-               .tuner_addr     = ADDR_UNSET,
-               .radio_addr     = ADDR_UNSET,
-               .input          = {{
-                       .type   = CX88_VMUX_TELEVISION,
-                       .vmux   = 0,
-                       .gpio0  = 0x0000a75f,
-               },{
-                       .type   = CX88_VMUX_COMPOSITE1,
-                       .vmux   = 1,
-                       .gpio0  = 0x0000a75b,
-               },{
-                       .type   = CX88_VMUX_SVIDEO,
-                       .vmux   = 2,
-                       .gpio0  = 0x0000a75b,
-               }},
-               .dvb            = 1,
-       },
 
 };
 const unsigned int cx88_bcount = ARRAY_SIZE(cx88_boards);
@@ -1299,18 +1254,6 @@ struct cx88_subid cx88_subids[] = {
                .subdevice = 0xdb11,
                .card      = CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PLUS,
                /* Re-branded DViCO: UltraView DVB-T Plus */
-       },{
-               .subvendor = 0x17de,
-               .subdevice = 0x0840,
-               .card      = CX88_BOARD_KWORLD_HARDWARE_MPEG_TV_XPERT,
-       },{
-               .subvendor = 0x18ac,
-               .subdevice = 0xdb40,
-               .card      = CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_HYBRID,
-       },{
-               .subvendor = 0x18ac,
-               .subdevice = 0xdb44,
-               .card      = CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_HYBRID,
        },
 };
 const unsigned int cx88_idcount = ARRAY_SIZE(cx88_subids);
@@ -1318,7 +1261,7 @@ const unsigned int cx88_idcount = ARRAY_SIZE(cx88_subids);
 /* ----------------------------------------------------------------------- */
 /* some leadtek specific stuff                                             */
 
-static void __devinit leadtek_eeprom(struct cx88_core *core, u8 *eeprom_data)
+static void leadtek_eeprom(struct cx88_core *core, u8 *eeprom_data)
 {
        /* This is just for the "Winfast 2000XP Expert" board ATM; I don't have data on
         * any others.
@@ -1429,40 +1372,6 @@ static void gdi_eeprom(struct cx88_core *core, u8 *eeprom_data)
        core->has_radio  = gdi_tuner[eeprom_data[0x0d]].fm;
 }
 
-/* ----------------------------------------------------------------------- */
-/* some DViCO specific stuff                                               */
-
-static void dvico_fusionhdtv_hybrid_init(struct cx88_core *core)
-{
-       struct i2c_msg msg = { .addr = 0x45, .flags = 0 };
-       int i, err;
-       static u8 init_bufs[13][5] = {
-               { 0x10, 0x00, 0x20, 0x01, 0x03 },
-               { 0x10, 0x10, 0x01, 0x00, 0x21 },
-               { 0x10, 0x10, 0x10, 0x00, 0xCA },
-               { 0x10, 0x10, 0x12, 0x00, 0x08 },
-               { 0x10, 0x10, 0x13, 0x00, 0x0A },
-               { 0x10, 0x10, 0x16, 0x01, 0xC0 },
-               { 0x10, 0x10, 0x22, 0x01, 0x3D },
-               { 0x10, 0x10, 0x73, 0x01, 0x2E },
-               { 0x10, 0x10, 0x72, 0x00, 0xC5 },
-               { 0x10, 0x10, 0x71, 0x01, 0x97 },
-               { 0x10, 0x10, 0x70, 0x00, 0x0F },
-               { 0x10, 0x10, 0xB0, 0x00, 0x01 },
-               { 0x03, 0x0C },
-       };
-
-       for (i = 0; i < 13; i++) {
-               msg.buf = init_bufs[i];
-               msg.len = (i != 12 ? 5 : 2);
-               err = i2c_transfer(&core->i2c_adap, &msg, 1);
-               if (err != 1) {
-                       printk("dvico_fusionhdtv_hybrid_init buf %d failed (err = %d)!\n", i, err);
-                       return;
-               }
-       }
-}
-
 /* ----------------------------------------------------------------------- */
 
 void cx88_card_list(struct cx88_core *core, struct pci_dev *pci)
@@ -1529,15 +1438,11 @@ void cx88_card_setup(struct cx88_core *core)
        case CX88_BOARD_DVICO_FUSIONHDTV_DVB_T1:
        case CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PLUS:
        case CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL:
-       case CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_HYBRID:
                /* GPIO0:0 is hooked to mt352 reset pin */
                cx_set(MO_GP0_IO, 0x00000101);
                cx_clear(MO_GP0_IO, 0x00000001);
                msleep(1);
                cx_set(MO_GP0_IO, 0x00000101);
-               if (0 == core->i2c_rc &&
-                   core->board == CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_HYBRID)
-                       dvico_fusionhdtv_hybrid_init(core);
                break;
        case CX88_BOARD_KWORLD_DVB_T:
        case CX88_BOARD_DNTV_LIVE_DVB_T:
@@ -1555,7 +1460,7 @@ void cx88_card_setup(struct cx88_core *core)
                if (0 == core->i2c_rc) {
                        /* enable tuner */
                        int i;
-                       static const u8 buffer [] = { 0x10,0x12,0x13,0x04,0x16,0x00,0x14,0x04,0x017,0x00 };
+                       u8 buffer [] = { 0x10,0x12,0x13,0x04,0x16,0x00,0x14,0x04,0x017,0x00 };
                        core->i2c_client.addr = 0x0a;
 
                        for (i = 0; i < 5; i++)