]> err.no Git - linux-2.6/blobdiff - drivers/media/video/em28xx/em28xx-cards.c
[PATCH] v4l: 840: fixed settings for msi vox usb 2.0 saa7114 is missing atm
[linux-2.6] / drivers / media / video / em28xx / em28xx-cards.c
index 91c70ebd0ea4cf08c16ad49a190fb7150ffe8c5c..4ab30476807d54ff7c20ab08308af6ce10f68fa4 100644 (file)
@@ -2,8 +2,8 @@
    em2820-cards.c - driver for Empia EM2800/EM2820/2840 USB video capture devices
 
    Copyright (C) 2005 Markus Rechberger <mrechberger@gmail.com>
-                      Ludovico Cavedon <cavedon@sssup.it>
-                      Mauro Carvalho Chehab <mchehab@brturbo.com.br>
+                     Ludovico Cavedon <cavedon@sssup.it>
+                     Mauro Carvalho Chehab <mchehab@brturbo.com.br>
 
    Based on the em2800 driver from Sascha Sommer <saschasommer@freenet.de>
 
@@ -140,13 +140,13 @@ struct em2820_board em2820_boards[] = {
                .name           = "MSI VOX USB 2.0",
                .vchannels      = 3,
                .norm           = VIDEO_MODE_PAL,
-               .tuner_type     = TUNER_PHILIPS_PAL,
+               .tuner_type     = TUNER_LG_PAL_NEW_TAPC,
                .tda9887_conf   = TDA9887_PRESENT|TDA9887_PORT1_ACTIVE|TDA9887_PORT2_ACTIVE,
                .has_tuner      = 1,
-               .decoder      = EM2820_SAA7114,
+               .decoder        = EM2820_SAA7114,
                .input          = {{
                        .type     = EM2820_VMUX_TELEVISION,
-                       .vmux     = 2,
+                       .vmux     = 4,
                        .amux     = 0,
                },{
                        .type     = EM2820_VMUX_COMPOSITE1,
@@ -160,7 +160,6 @@ struct em2820_board em2820_boards[] = {
        },
        [EM2800_BOARD_TERRATEC_CINERGY_200] = {
                .name         = "Terratec Cinergy 200 USB",
-               .chip_id      = 0x4,
                .is_em2800    = 1,
                .vchannels    = 3,
                .norm         = VIDEO_MODE_PAL,
@@ -184,7 +183,6 @@ struct em2820_board em2820_boards[] = {
        },
        [EM2800_BOARD_LEADTEK_WINFAST_USBII] = {
                .name         = "Leadtek Winfast USB II",
-               .chip_id      = 0x2,
                .is_em2800    = 1,
                .vchannels    = 3,
                .norm         = VIDEO_MODE_PAL,
@@ -208,7 +206,6 @@ struct em2820_board em2820_boards[] = {
        },
        [EM2800_BOARD_KWORLD_USB2800] = {
                .name         = "Kworld USB2800",
-               .chip_id      = 0x7,
                .is_em2800    = 1,
                .vchannels    = 3,
                .norm         = VIDEO_MODE_PAL,
@@ -236,7 +233,7 @@ const unsigned int em2820_bcount = ARRAY_SIZE(em2820_boards);
 /* table of devices that work with this driver */
 struct usb_device_id em2820_id_table [] = {
        { USB_DEVICE(0xeb1a, 0x2800), .driver_info = EM2800_BOARD_UNKNOWN },
-       { USB_DEVICE(0xeb1a, 0x2820), .driver_info = EM2820_BOARD_UNKNOWN },
+       { USB_DEVICE(0xeb1a, 0x2820), .driver_info = EM2820_BOARD_MSI_VOX_USB_2 },
        { USB_DEVICE(0x0ccd, 0x0036), .driver_info = EM2820_BOARD_TERRATEC_CINERGY_250 },
        { USB_DEVICE(0x2304, 0x0208), .driver_info = EM2820_BOARD_PINNACLE_USB_2 },
        { USB_DEVICE(0x2040, 0x4200), .driver_info = EM2820_BOARD_HAUPPAUGE_WINTV_USB_2 },
@@ -250,9 +247,11 @@ void em2820_card_setup(struct em2820 *dev)
                struct tveeprom tv;
 #ifdef CONFIG_MODULES
                request_module("tveeprom");
+               request_module("ir-kbd-i2c");
 #endif
                /* Call first TVeeprom */
 
+               dev->i2c_client.addr = 0xa0 >> 1;
                tveeprom_hauppauge_analog(&dev->i2c_client, &tv, dev->eedata);
 
                dev->tuner_type= tv.tuner_type;