Merge master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb
[sfrench/cifs-2.6.git] / drivers / media / video / bt8xx / bttv-cards.c
index 2b64aa835b423663a203685b6c95a9fc94348fef..d23a42b1504f907e16d7736a6771e99982a554ac 100644 (file)
@@ -25,7 +25,6 @@
 
 */
 
-#include <linux/config.h>
 #include <linux/delay.h>
 #include <linux/module.h>
 #include <linux/moduleparam.h>
@@ -269,7 +268,7 @@ static struct CARD {
        { 0x41a0a051, BTTV_BOARD_FLYVIDEO_98FM, "Lifeview FlyVideo 98 LR50 Rev Q" },
        { 0x18501f7f, BTTV_BOARD_FLYVIDEO_98,   "Lifeview Flyvideo 98" },
 
-       { 0x010115cb, BTTV_BOARD_GMV1,          "AG GMV1" },
+       { 0x010115cb, BTTV_BOARD_GMV1,          "AG GMV1" },
        { 0x010114c7, BTTV_BOARD_MODTEC_205,    "Modular Technology MM201/MM202/MM205/MM210/MM215 PCTV" },
 
        { 0x10b42636, BTTV_BOARD_HAUPPAUGE878,  "STB ???" },
@@ -309,6 +308,7 @@ static struct CARD {
        { 0x07611461, BTTV_BOARD_AVDVBT_761,    "AverMedia AverTV DVB-T 761" },
        { 0xdb1018ac, BTTV_BOARD_DVICO_DVBT_LITE,    "DViCO FusionHDTV DVB-T Lite" },
        { 0xd50018ac, BTTV_BOARD_DVICO_FUSIONHDTV_5_LITE,    "DViCO FusionHDTV 5 Lite" },
+       { 0x00261822, BTTV_BOARD_TWINHAN_DST,   "DNTV Live! Mini "},
 
        { 0, -1, NULL }
 };
@@ -1903,7 +1903,7 @@ struct tvcard bttv_tvcards[] = {
                .no_tda7432     = 1,
        },
        [BTTV_BOARD_OSPREY2x0] = {
-               .name           = "Osprey 210/220",   /* 0x1(A|B)-04C0-C1 */
+               .name           = "Osprey 210/220/230",   /* 0x1(A|B)-04C0-C1 */
                .video_inputs   = 2,
                .audio_inputs   = 1,
                .tuner          = -1,
@@ -2745,7 +2745,7 @@ struct tvcard bttv_tvcards[] = {
                /* Michael Krufky <mkrufky@m1k.net> */
                .name           = "DViCO FusionHDTV 5 Lite",
                .tuner          = 0,
-               .tuner_type     = TUNER_LG_TDVS_H062F,
+               .tuner_type     = TUNER_LG_TDVS_H06XF, /* TDVS-H064F */
                .tuner_addr     = ADDR_UNSET,
                .radio_addr     = ADDR_UNSET,
                .video_inputs   = 3,
@@ -2762,7 +2762,7 @@ struct tvcard bttv_tvcards[] = {
        },
                /* ---- card 0x88---------------------------------- */
        [BTTV_BOARD_ACORP_Y878F] = {
-               /* Mauro Carvalho Chehab <mchehab@brturbo.com.br> */
+               /* Mauro Carvalho Chehab <mchehab@infradead.org> */
                .name           = "Acorp Y878F",
                .video_inputs   = 3,
                .audio_inputs   = 1,
@@ -3547,11 +3547,6 @@ void __devinit bttv_init_card2(struct bttv *btv)
        /* Hybrid DVB card, DOES have a tda9887 */
        if (btv->c.type == BTTV_BOARD_DVICO_FUSIONHDTV_5_LITE)
                tda9887 = 1;
-       if((btv->tuner_type == TUNER_PHILIPS_FM1216ME_MK3) ||
-          (btv->tuner_type == TUNER_PHILIPS_FM1236_MK3) ||
-          (btv->tuner_type == TUNER_PHILIPS_FM1256_IH3) ||
-           tda9887)
-               request_module("tda9887");
        if (btv->tuner_type != UNSET)
                request_module("tuner");
 }
@@ -3790,6 +3785,7 @@ static void __devinit osprey_eeprom(struct bttv *btv)
                       break;
               case 0x0060:
               case 0x0070:
+              case 0x00A0:
                       btv->c.type = BTTV_BOARD_OSPREY2x0;
                       /* enable output on select control lines */
                       gpio_inout(0xffffff,0x000303);
@@ -4846,7 +4842,7 @@ static void picolo_tetra_muxsel (struct bttv* btv, unsigned int input)
  *
  * The IVC120G security card has 4 i2c controlled TDA8540 matrix
  * swichers to provide 16 channels to MUX0. The TDA8540's have
- * 4 indepedant outputs and as such the IVC120G also has the
+ * 4 independent outputs and as such the IVC120G also has the
  * optional "Monitor Out" bus. This allows the card to be looking
  * at one input while the monitor is looking at another.
  *
@@ -4995,7 +4991,7 @@ void __devinit bttv_check_chipset(void)
        int pcipci_fail = 0;
        struct pci_dev *dev = NULL;
 
-       if (pci_pci_problems & PCIPCI_FAIL)
+       if (pci_pci_problems & (PCIPCI_FAIL|PCIAGP_FAIL))       /* should check if target is AGP */
                pcipci_fail = 1;
        if (pci_pci_problems & (PCIPCI_TRITON|PCIPCI_NATOMA|PCIPCI_VIAETBF))
                triton1 = 1;