[PATCH] Fix for cx88-cards.c for DVICO-FusionHDTV 3 GOLD Q

This patch allows full analog functionality for the DViCO FusionHDTV3
Gold-Q, 18ac:d820 which has a Conexant cx23882, Thompson7611, and LG 3202.
It does NOT yet support digital decoding or digital audio without the
internal analog audio jack connected to the sound board, but it works
perfectly in analog mode.

Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
diff --git a/drivers/media/video/cx88/cx88-cards.c b/drivers/media/video/cx88/cx88-cards.c
index 3676248..98e4002 100644
--- a/drivers/media/video/cx88/cx88-cards.c
+++ b/drivers/media/video/cx88/cx88-cards.c
@@ -435,6 +435,33 @@
 		 }
 #endif
 	},
+        [CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_Q] = {
+                .name           = "DViCO - FusionHDTV 3 Gold-Q",
+                .tuner_type     = 52, /* Thomson DDT 7610 ATSC/NTSC - Its actually a 7611 chip, but this works */
+                .input          = {{
+                        .type   = CX88_VMUX_TELEVISION,
+                        .vmux   = 0,
+                        .gpio0  = 0x0f0d,
+                },{
+                        .type   = CX88_VMUX_CABLE,
+                        .vmux   = 0,
+                        .gpio0  = 0x0f05,
+                },{
+                        .type   = CX88_VMUX_COMPOSITE1,
+                        .vmux   = 1,
+                        .gpio0  = 0x0f00,
+                },{
+                        .type   = CX88_VMUX_SVIDEO,
+                        .vmux   = 2,
+                        .gpio0  = 0x0f00,
+                }},
+#if 0
+                .ts             = {
+                         .type   = CX88_TS,
+                         .gpio0  = 0x00000f01,   /* Hooked to tuner reset bit */
+                 }
+#endif
+        },
         [CX88_BOARD_HAUPPAUGE_DVB_T1] = {
                 .name           = "Hauppauge Nova-T DVB-T",
 		.tuner_type     = TUNER_ABSENT,
@@ -673,6 +700,10 @@
 		.subdevice = 0xd810,
 		.card      = CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD,
 	},{
+		.subvendor = 0x18ac,
+		.subdevice = 0xd820,
+		.card      = CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_Q,
+	},{
 		.subvendor = 0x18AC,
 		.subdevice = 0xDB00,
 		.card      = CX88_BOARD_DVICO_FUSIONHDTV_DVB_T1,
diff --git a/drivers/media/video/cx88/cx88.h b/drivers/media/video/cx88/cx88.h
index 88eaaaba..0ea24b7 100644
--- a/drivers/media/video/cx88/cx88.h
+++ b/drivers/media/video/cx88/cx88.h
@@ -162,6 +162,7 @@
 #define CX88_BOARD_HAUPPAUGE_ROSLYN        24
 #define CX88_BOARD_DIGITALLOGIC_MEC	       25
 #define CX88_BOARD_IODATA_GVBCTV7E         26
+#define CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_Q   27
 
 enum cx88_itype {
 	CX88_VMUX_COMPOSITE1 = 1,