aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@redhat.com>2008-11-25 07:10:25 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-12-29 14:53:41 -0500
commitd4d889e329bd0837598b3ef611806421754e9b83 (patch)
tree9df5f74567237f890349d7b2a2feb15fe5f5f22e
parenta2070c665459ac37a36bebae5e97bb4a2568990e (diff)
V4L/DVB (9751): em28xx: card description cleanups
Remove unused em28xx_board.vchannels and em28xx.video_channels. Also, .is_em2800 = 0 is not needed, as all data is zeroed by kernel loader. The table also included a notice that svideo weren't test on Hauppauge USB2. Remove this notice, since this input also works properly. Also, it does some whitespace cleanups. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/video/em28xx/em28xx-cards.c181
-rw-r--r--drivers/media/video/em28xx/em28xx.h2
2 files changed, 59 insertions, 124 deletions
diff --git a/drivers/media/video/em28xx/em28xx-cards.c b/drivers/media/video/em28xx/em28xx-cards.c
index 729c76c59ec5..0d489cad2d56 100644
--- a/drivers/media/video/em28xx/em28xx-cards.c
+++ b/drivers/media/video/em28xx/em28xx-cards.c
@@ -54,7 +54,6 @@ struct em28xx_hash_table {
54struct em28xx_board em28xx_boards[] = { 54struct em28xx_board em28xx_boards[] = {
55 [EM2750_BOARD_UNKNOWN] = { 55 [EM2750_BOARD_UNKNOWN] = {
56 .name = "Unknown EM2750/EM2751 webcam grabber", 56 .name = "Unknown EM2750/EM2751 webcam grabber",
57 .vchannels = 1,
58 .xclk = EM28XX_XCLK_FREQUENCY_48MHZ, 57 .xclk = EM28XX_XCLK_FREQUENCY_48MHZ,
59 .input = { { 58 .input = { {
60 .type = EM28XX_VMUX_COMPOSITE1, 59 .type = EM28XX_VMUX_COMPOSITE1,
@@ -65,10 +64,9 @@ struct em28xx_board em28xx_boards[] = {
65 [EM2800_BOARD_UNKNOWN] = { 64 [EM2800_BOARD_UNKNOWN] = {
66 .name = "Unknown EM2800 video grabber", 65 .name = "Unknown EM2800 video grabber",
67 .is_em2800 = 1, 66 .is_em2800 = 1,
68 .vchannels = 2,
69 .tda9887_conf = TDA9887_PRESENT, 67 .tda9887_conf = TDA9887_PRESENT,
70 .decoder = EM28XX_SAA7113, 68 .decoder = EM28XX_SAA7113,
71 .input = { { 69 .input = { {
72 .type = EM28XX_VMUX_COMPOSITE1, 70 .type = EM28XX_VMUX_COMPOSITE1,
73 .vmux = SAA7115_COMPOSITE0, 71 .vmux = SAA7115_COMPOSITE0,
74 .amux = EM28XX_AMUX_LINE_IN, 72 .amux = EM28XX_AMUX_LINE_IN,
@@ -86,7 +84,6 @@ struct em28xx_board em28xx_boards[] = {
86 /* Beijing Huaqi Information Digital Technology Co., Ltd */ 84 /* Beijing Huaqi Information Digital Technology Co., Ltd */
87 .name = "Huaqi DLCW-130", 85 .name = "Huaqi DLCW-130",
88 .valid = EM28XX_BOARD_NOT_VALIDATED, 86 .valid = EM28XX_BOARD_NOT_VALIDATED,
89 .vchannels = 1,
90 .xclk = EM28XX_XCLK_FREQUENCY_48MHZ, 87 .xclk = EM28XX_XCLK_FREQUENCY_48MHZ,
91 .input = { { 88 .input = { {
92 .type = EM28XX_VMUX_COMPOSITE1, 89 .type = EM28XX_VMUX_COMPOSITE1,
@@ -96,12 +93,10 @@ struct em28xx_board em28xx_boards[] = {
96 }, 93 },
97 [EM2820_BOARD_KWORLD_PVRTV2800RF] = { 94 [EM2820_BOARD_KWORLD_PVRTV2800RF] = {
98 .name = "Kworld PVR TV 2800 RF", 95 .name = "Kworld PVR TV 2800 RF",
99 .is_em2800 = 0,
100 .vchannels = 2,
101 .tuner_type = TUNER_TEMIC_PAL, 96 .tuner_type = TUNER_TEMIC_PAL,
102 .tda9887_conf = TDA9887_PRESENT, 97 .tda9887_conf = TDA9887_PRESENT,
103 .decoder = EM28XX_SAA7113, 98 .decoder = EM28XX_SAA7113,
104 .input = { { 99 .input = { {
105 .type = EM28XX_VMUX_COMPOSITE1, 100 .type = EM28XX_VMUX_COMPOSITE1,
106 .vmux = SAA7115_COMPOSITE0, 101 .vmux = SAA7115_COMPOSITE0,
107 .amux = EM28XX_AMUX_LINE_IN, 102 .amux = EM28XX_AMUX_LINE_IN,
@@ -113,11 +108,10 @@ struct em28xx_board em28xx_boards[] = {
113 }, 108 },
114 [EM2820_BOARD_TERRATEC_CINERGY_250] = { 109 [EM2820_BOARD_TERRATEC_CINERGY_250] = {
115 .name = "Terratec Cinergy 250 USB", 110 .name = "Terratec Cinergy 250 USB",
116 .vchannels = 3,
117 .tuner_type = TUNER_LG_PAL_NEW_TAPC, 111 .tuner_type = TUNER_LG_PAL_NEW_TAPC,
118 .tda9887_conf = TDA9887_PRESENT, 112 .tda9887_conf = TDA9887_PRESENT,
119 .decoder = EM28XX_SAA7113, 113 .decoder = EM28XX_SAA7113,
120 .input = { { 114 .input = { {
121 .type = EM28XX_VMUX_TELEVISION, 115 .type = EM28XX_VMUX_TELEVISION,
122 .vmux = SAA7115_COMPOSITE2, 116 .vmux = SAA7115_COMPOSITE2,
123 .amux = EM28XX_AMUX_LINE_IN, 117 .amux = EM28XX_AMUX_LINE_IN,
@@ -133,11 +127,10 @@ struct em28xx_board em28xx_boards[] = {
133 }, 127 },
134 [EM2820_BOARD_PINNACLE_USB_2] = { 128 [EM2820_BOARD_PINNACLE_USB_2] = {
135 .name = "Pinnacle PCTV USB 2", 129 .name = "Pinnacle PCTV USB 2",
136 .vchannels = 3,
137 .tuner_type = TUNER_LG_PAL_NEW_TAPC, 130 .tuner_type = TUNER_LG_PAL_NEW_TAPC,
138 .tda9887_conf = TDA9887_PRESENT, 131 .tda9887_conf = TDA9887_PRESENT,
139 .decoder = EM28XX_SAA7113, 132 .decoder = EM28XX_SAA7113,
140 .input = { { 133 .input = { {
141 .type = EM28XX_VMUX_TELEVISION, 134 .type = EM28XX_VMUX_TELEVISION,
142 .vmux = SAA7115_COMPOSITE2, 135 .vmux = SAA7115_COMPOSITE2,
143 .amux = EM28XX_AMUX_VIDEO, 136 .amux = EM28XX_AMUX_VIDEO,
@@ -153,15 +146,13 @@ struct em28xx_board em28xx_boards[] = {
153 }, 146 },
154 [EM2820_BOARD_HAUPPAUGE_WINTV_USB_2] = { 147 [EM2820_BOARD_HAUPPAUGE_WINTV_USB_2] = {
155 .name = "Hauppauge WinTV USB 2", 148 .name = "Hauppauge WinTV USB 2",
156 .vchannels = 3,
157 .tuner_type = TUNER_PHILIPS_FM1236_MK3, 149 .tuner_type = TUNER_PHILIPS_FM1236_MK3,
158 .tda9887_conf = TDA9887_PRESENT | 150 .tda9887_conf = TDA9887_PRESENT |
159 TDA9887_PORT1_ACTIVE| 151 TDA9887_PORT1_ACTIVE|
160 TDA9887_PORT2_ACTIVE, 152 TDA9887_PORT2_ACTIVE,
161 .decoder = EM28XX_TVP5150, 153 .decoder = EM28XX_TVP5150,
162 .has_msp34xx = 1, 154 .has_msp34xx = 1,
163 /*FIXME: S-Video not tested */ 155 .input = { {
164 .input = { {
165 .type = EM28XX_VMUX_TELEVISION, 156 .type = EM28XX_VMUX_TELEVISION,
166 .vmux = TVP5150_COMPOSITE0, 157 .vmux = TVP5150_COMPOSITE0,
167 .amux = MSP_INPUT_DEFAULT, 158 .amux = MSP_INPUT_DEFAULT,
@@ -175,12 +166,10 @@ struct em28xx_board em28xx_boards[] = {
175 [EM2820_BOARD_DLINK_USB_TV] = { 166 [EM2820_BOARD_DLINK_USB_TV] = {
176 .name = "D-Link DUB-T210 TV Tuner", 167 .name = "D-Link DUB-T210 TV Tuner",
177 .valid = EM28XX_BOARD_NOT_VALIDATED, 168 .valid = EM28XX_BOARD_NOT_VALIDATED,
178 .vchannels = 3,
179 .is_em2800 = 0,
180 .tuner_type = TUNER_LG_PAL_NEW_TAPC, 169 .tuner_type = TUNER_LG_PAL_NEW_TAPC,
181 .tda9887_conf = TDA9887_PRESENT, 170 .tda9887_conf = TDA9887_PRESENT,
182 .decoder = EM28XX_SAA7113, 171 .decoder = EM28XX_SAA7113,
183 .input = { { 172 .input = { {
184 .type = EM28XX_VMUX_TELEVISION, 173 .type = EM28XX_VMUX_TELEVISION,
185 .vmux = SAA7115_COMPOSITE2, 174 .vmux = SAA7115_COMPOSITE2,
186 .amux = EM28XX_AMUX_LINE_IN, 175 .amux = EM28XX_AMUX_LINE_IN,
@@ -197,7 +186,6 @@ struct em28xx_board em28xx_boards[] = {
197 [EM2820_BOARD_HERCULES_SMART_TV_USB2] = { 186 [EM2820_BOARD_HERCULES_SMART_TV_USB2] = {
198 .name = "Hercules Smart TV USB 2.0", 187 .name = "Hercules Smart TV USB 2.0",
199 .valid = EM28XX_BOARD_NOT_VALIDATED, 188 .valid = EM28XX_BOARD_NOT_VALIDATED,
200 .vchannels = 3,
201 .tuner_type = TUNER_LG_PAL_NEW_TAPC, 189 .tuner_type = TUNER_LG_PAL_NEW_TAPC,
202 .tda9887_conf = TDA9887_PRESENT, 190 .tda9887_conf = TDA9887_PRESENT,
203 .decoder = EM28XX_SAA7113, 191 .decoder = EM28XX_SAA7113,
@@ -218,12 +206,10 @@ struct em28xx_board em28xx_boards[] = {
218 [EM2820_BOARD_PINNACLE_USB_2_FM1216ME] = { 206 [EM2820_BOARD_PINNACLE_USB_2_FM1216ME] = {
219 .name = "Pinnacle PCTV USB 2 (Philips FM1216ME)", 207 .name = "Pinnacle PCTV USB 2 (Philips FM1216ME)",
220 .valid = EM28XX_BOARD_NOT_VALIDATED, 208 .valid = EM28XX_BOARD_NOT_VALIDATED,
221 .vchannels = 3,
222 .is_em2800 = 0,
223 .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, 209 .tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
224 .tda9887_conf = TDA9887_PRESENT, 210 .tda9887_conf = TDA9887_PRESENT,
225 .decoder = EM28XX_SAA7113, 211 .decoder = EM28XX_SAA7113,
226 .input = { { 212 .input = { {
227 .type = EM28XX_VMUX_TELEVISION, 213 .type = EM28XX_VMUX_TELEVISION,
228 .vmux = SAA7115_COMPOSITE2, 214 .vmux = SAA7115_COMPOSITE2,
229 .amux = EM28XX_AMUX_VIDEO, 215 .amux = EM28XX_AMUX_VIDEO,
@@ -240,11 +226,10 @@ struct em28xx_board em28xx_boards[] = {
240 [EM2820_BOARD_GADMEI_UTV310] = { 226 [EM2820_BOARD_GADMEI_UTV310] = {
241 .name = "Gadmei UTV310", 227 .name = "Gadmei UTV310",
242 .valid = EM28XX_BOARD_NOT_VALIDATED, 228 .valid = EM28XX_BOARD_NOT_VALIDATED,
243 .vchannels = 3,
244 .tuner_type = TUNER_TNF_5335MF, 229 .tuner_type = TUNER_TNF_5335MF,
245 .tda9887_conf = TDA9887_PRESENT, 230 .tda9887_conf = TDA9887_PRESENT,
246 .decoder = EM28XX_SAA7113, 231 .decoder = EM28XX_SAA7113,
247 .input = { { 232 .input = { {
248 .type = EM28XX_VMUX_TELEVISION, 233 .type = EM28XX_VMUX_TELEVISION,
249 .vmux = SAA7115_COMPOSITE1, 234 .vmux = SAA7115_COMPOSITE1,
250 .amux = EM28XX_AMUX_LINE_IN, 235 .amux = EM28XX_AMUX_LINE_IN,
@@ -261,11 +246,10 @@ struct em28xx_board em28xx_boards[] = {
261 [EM2820_BOARD_LEADTEK_WINFAST_USBII_DELUXE] = { 246 [EM2820_BOARD_LEADTEK_WINFAST_USBII_DELUXE] = {
262 .name = "Leadtek Winfast USB II Deluxe", 247 .name = "Leadtek Winfast USB II Deluxe",
263 .valid = EM28XX_BOARD_NOT_VALIDATED, 248 .valid = EM28XX_BOARD_NOT_VALIDATED,
264 .vchannels = 3,
265 .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, 249 .tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
266 .tda9887_conf = TDA9887_PRESENT, 250 .tda9887_conf = TDA9887_PRESENT,
267 .decoder = EM28XX_SAA7114, 251 .decoder = EM28XX_SAA7114,
268 .input = { { 252 .input = { {
269 .type = EM28XX_VMUX_TELEVISION, 253 .type = EM28XX_VMUX_TELEVISION,
270 .vmux = 2, 254 .vmux = 2,
271 .amux = EM28XX_AMUX_VIDEO, 255 .amux = EM28XX_AMUX_VIDEO,
@@ -282,9 +266,8 @@ struct em28xx_board em28xx_boards[] = {
282 [EM2820_BOARD_PINNACLE_DVC_100] = { 266 [EM2820_BOARD_PINNACLE_DVC_100] = {
283 .name = "Pinnacle Dazzle DVC 100", 267 .name = "Pinnacle Dazzle DVC 100",
284 .valid = EM28XX_BOARD_NOT_VALIDATED, 268 .valid = EM28XX_BOARD_NOT_VALIDATED,
285 .vchannels = 3,
286 .decoder = EM28XX_SAA7113, 269 .decoder = EM28XX_SAA7113,
287 .input = { { 270 .input = { {
288 .type = EM28XX_VMUX_COMPOSITE1, 271 .type = EM28XX_VMUX_COMPOSITE1,
289 .vmux = SAA7115_COMPOSITE0, 272 .vmux = SAA7115_COMPOSITE0,
290 .amux = EM28XX_AMUX_LINE_IN, 273 .amux = EM28XX_AMUX_LINE_IN,
@@ -295,10 +278,9 @@ struct em28xx_board em28xx_boards[] = {
295 } }, 278 } },
296 }, 279 },
297 [EM2820_BOARD_VIDEOLOGY_20K14XUSB] = { 280 [EM2820_BOARD_VIDEOLOGY_20K14XUSB] = {
298 .name = "Videology 20K14XUSB USB2.0", 281 .name = "Videology 20K14XUSB USB2.0",
299 .valid = EM28XX_BOARD_NOT_VALIDATED, 282 .valid = EM28XX_BOARD_NOT_VALIDATED,
300 .vchannels = 1, 283 .input = { {
301 .input = { {
302 .type = EM28XX_VMUX_COMPOSITE1, 284 .type = EM28XX_VMUX_COMPOSITE1,
303 .vmux = 0, 285 .vmux = 0,
304 .amux = EM28XX_AMUX_VIDEO, 286 .amux = EM28XX_AMUX_VIDEO,
@@ -307,12 +289,10 @@ struct em28xx_board em28xx_boards[] = {
307 [EM2821_BOARD_PROLINK_PLAYTV_USB2] = { 289 [EM2821_BOARD_PROLINK_PLAYTV_USB2] = {
308 .name = "SIIG AVTuner-PVR/Prolink PlayTV USB 2.0", 290 .name = "SIIG AVTuner-PVR/Prolink PlayTV USB 2.0",
309 .valid = EM28XX_BOARD_NOT_VALIDATED, 291 .valid = EM28XX_BOARD_NOT_VALIDATED,
310 .vchannels = 3,
311 .is_em2800 = 0,
312 .tuner_type = TUNER_LG_PAL_NEW_TAPC, /* unknown? */ 292 .tuner_type = TUNER_LG_PAL_NEW_TAPC, /* unknown? */
313 .tda9887_conf = TDA9887_PRESENT, /* unknown? */ 293 .tda9887_conf = TDA9887_PRESENT, /* unknown? */
314 .decoder = EM28XX_SAA7113, 294 .decoder = EM28XX_SAA7113,
315 .input = { { 295 .input = { {
316 .type = EM28XX_VMUX_TELEVISION, 296 .type = EM28XX_VMUX_TELEVISION,
317 .vmux = SAA7115_COMPOSITE2, 297 .vmux = SAA7115_COMPOSITE2,
318 .amux = EM28XX_AMUX_LINE_IN, 298 .amux = EM28XX_AMUX_LINE_IN,
@@ -329,14 +309,12 @@ struct em28xx_board em28xx_boards[] = {
329 [EM2821_BOARD_SUPERCOMP_USB_2] = { 309 [EM2821_BOARD_SUPERCOMP_USB_2] = {
330 .name = "Supercomp USB 2.0 TV", 310 .name = "Supercomp USB 2.0 TV",
331 .valid = EM28XX_BOARD_NOT_VALIDATED, 311 .valid = EM28XX_BOARD_NOT_VALIDATED,
332 .vchannels = 3,
333 .is_em2800 = 0,
334 .tuner_type = TUNER_PHILIPS_FM1236_MK3, 312 .tuner_type = TUNER_PHILIPS_FM1236_MK3,
335 .tda9887_conf = TDA9887_PRESENT | 313 .tda9887_conf = TDA9887_PRESENT |
336 TDA9887_PORT1_ACTIVE | 314 TDA9887_PORT1_ACTIVE |
337 TDA9887_PORT2_ACTIVE, 315 TDA9887_PORT2_ACTIVE,
338 .decoder = EM28XX_SAA7113, 316 .decoder = EM28XX_SAA7113,
339 .input = { { 317 .input = { {
340 .type = EM28XX_VMUX_TELEVISION, 318 .type = EM28XX_VMUX_TELEVISION,
341 .vmux = SAA7115_COMPOSITE2, 319 .vmux = SAA7115_COMPOSITE2,
342 .amux = EM28XX_AMUX_LINE_IN, 320 .amux = EM28XX_AMUX_LINE_IN,
@@ -351,11 +329,10 @@ struct em28xx_board em28xx_boards[] = {
351 } }, 329 } },
352 }, 330 },
353 [EM2821_BOARD_USBGEAR_VD204] = { 331 [EM2821_BOARD_USBGEAR_VD204] = {
354 .name = "Usbgear VD204v9", 332 .name = "Usbgear VD204v9",
355 .valid = EM28XX_BOARD_NOT_VALIDATED, 333 .valid = EM28XX_BOARD_NOT_VALIDATED,
356 .vchannels = 2, 334 .decoder = EM28XX_SAA7113,
357 .decoder = EM28XX_SAA7113, 335 .input = { {
358 .input = { {
359 .type = EM28XX_VMUX_COMPOSITE1, 336 .type = EM28XX_VMUX_COMPOSITE1,
360 .vmux = SAA7115_COMPOSITE0, 337 .vmux = SAA7115_COMPOSITE0,
361 .amux = EM28XX_AMUX_LINE_IN, 338 .amux = EM28XX_AMUX_LINE_IN,
@@ -367,21 +344,19 @@ struct em28xx_board em28xx_boards[] = {
367 }, 344 },
368 [EM2860_BOARD_NETGMBH_CAM] = { 345 [EM2860_BOARD_NETGMBH_CAM] = {
369 /* Beijing Huaqi Information Digital Technology Co., Ltd */ 346 /* Beijing Huaqi Information Digital Technology Co., Ltd */
370 .name = "NetGMBH Cam", 347 .name = "NetGMBH Cam",
371 .valid = EM28XX_BOARD_NOT_VALIDATED, 348 .valid = EM28XX_BOARD_NOT_VALIDATED,
372 .vchannels = 1, 349 .input = { {
373 .input = { {
374 .type = EM28XX_VMUX_COMPOSITE1, 350 .type = EM28XX_VMUX_COMPOSITE1,
375 .vmux = 0, 351 .vmux = 0,
376 .amux = EM28XX_AMUX_VIDEO, 352 .amux = EM28XX_AMUX_VIDEO,
377 } }, 353 } },
378 }, 354 },
379 [EM2860_BOARD_TYPHOON_DVD_MAKER] = { 355 [EM2860_BOARD_TYPHOON_DVD_MAKER] = {
380 .name = "Typhoon DVD Maker", 356 .name = "Typhoon DVD Maker",
381 .valid = EM28XX_BOARD_NOT_VALIDATED, 357 .valid = EM28XX_BOARD_NOT_VALIDATED,
382 .vchannels = 2, 358 .decoder = EM28XX_SAA7113,
383 .decoder = EM28XX_SAA7113, 359 .input = { {
384 .input = { {
385 .type = EM28XX_VMUX_COMPOSITE1, 360 .type = EM28XX_VMUX_COMPOSITE1,
386 .vmux = SAA7115_COMPOSITE0, 361 .vmux = SAA7115_COMPOSITE0,
387 .amux = EM28XX_AMUX_LINE_IN, 362 .amux = EM28XX_AMUX_LINE_IN,
@@ -394,11 +369,10 @@ struct em28xx_board em28xx_boards[] = {
394 [EM2860_BOARD_GADMEI_UTV330] = { 369 [EM2860_BOARD_GADMEI_UTV330] = {
395 .name = "Gadmei UTV330", 370 .name = "Gadmei UTV330",
396 .valid = EM28XX_BOARD_NOT_VALIDATED, 371 .valid = EM28XX_BOARD_NOT_VALIDATED,
397 .vchannels = 3,
398 .tuner_type = TUNER_TNF_5335MF, 372 .tuner_type = TUNER_TNF_5335MF,
399 .tda9887_conf = TDA9887_PRESENT, 373 .tda9887_conf = TDA9887_PRESENT,
400 .decoder = EM28XX_SAA7113, 374 .decoder = EM28XX_SAA7113,
401 .input = { { 375 .input = { {
402 .type = EM28XX_VMUX_TELEVISION, 376 .type = EM28XX_VMUX_TELEVISION,
403 .vmux = SAA7115_COMPOSITE2, 377 .vmux = SAA7115_COMPOSITE2,
404 .amux = EM28XX_AMUX_VIDEO, 378 .amux = EM28XX_AMUX_VIDEO,
@@ -415,10 +389,9 @@ struct em28xx_board em28xx_boards[] = {
415 [EM2860_BOARD_TERRATEC_HYBRID_XS] = { 389 [EM2860_BOARD_TERRATEC_HYBRID_XS] = {
416 .name = "Terratec Cinergy A Hybrid XS", 390 .name = "Terratec Cinergy A Hybrid XS",
417 .valid = EM28XX_BOARD_NOT_VALIDATED, 391 .valid = EM28XX_BOARD_NOT_VALIDATED,
418 .vchannels = 3,
419 .tuner_type = TUNER_XC2028, 392 .tuner_type = TUNER_XC2028,
420 .decoder = EM28XX_TVP5150, 393 .decoder = EM28XX_TVP5150,
421 .input = { { 394 .input = { {
422 .type = EM28XX_VMUX_TELEVISION, 395 .type = EM28XX_VMUX_TELEVISION,
423 .vmux = TVP5150_COMPOSITE0, 396 .vmux = TVP5150_COMPOSITE0,
424 .amux = EM28XX_AMUX_VIDEO, 397 .amux = EM28XX_AMUX_VIDEO,
@@ -435,10 +408,9 @@ struct em28xx_board em28xx_boards[] = {
435 [EM2861_BOARD_KWORLD_PVRTV_300U] = { 408 [EM2861_BOARD_KWORLD_PVRTV_300U] = {
436 .name = "KWorld PVRTV 300U", 409 .name = "KWorld PVRTV 300U",
437 .valid = EM28XX_BOARD_NOT_VALIDATED, 410 .valid = EM28XX_BOARD_NOT_VALIDATED,
438 .vchannels = 3,
439 .tuner_type = TUNER_XC2028, 411 .tuner_type = TUNER_XC2028,
440 .decoder = EM28XX_TVP5150, 412 .decoder = EM28XX_TVP5150,
441 .input = { { 413 .input = { {
442 .type = EM28XX_VMUX_TELEVISION, 414 .type = EM28XX_VMUX_TELEVISION,
443 .vmux = TVP5150_COMPOSITE0, 415 .vmux = TVP5150_COMPOSITE0,
444 .amux = EM28XX_AMUX_VIDEO, 416 .amux = EM28XX_AMUX_VIDEO,
@@ -454,8 +426,7 @@ struct em28xx_board em28xx_boards[] = {
454 }, 426 },
455 [EM2861_BOARD_YAKUMO_MOVIE_MIXER] = { 427 [EM2861_BOARD_YAKUMO_MOVIE_MIXER] = {
456 .name = "Yakumo MovieMixer", 428 .name = "Yakumo MovieMixer",
457 .valid = EM28XX_BOARD_NOT_VALIDATED, 429 .valid = EM28XX_BOARD_NOT_VALIDATED,
458 .vchannels = 1,
459 .decoder = EM28XX_TVP5150, 430 .decoder = EM28XX_TVP5150,
460 .input = { { 431 .input = { {
461 .type = EM28XX_VMUX_TELEVISION, 432 .type = EM28XX_VMUX_TELEVISION,
@@ -474,11 +445,10 @@ struct em28xx_board em28xx_boards[] = {
474 [EM2861_BOARD_PLEXTOR_PX_TV100U] = { 445 [EM2861_BOARD_PLEXTOR_PX_TV100U] = {
475 .name = "Plextor ConvertX PX-TV100U", 446 .name = "Plextor ConvertX PX-TV100U",
476 .valid = EM28XX_BOARD_NOT_VALIDATED, 447 .valid = EM28XX_BOARD_NOT_VALIDATED,
477 .vchannels = 3,
478 .tuner_type = TUNER_TNF_5335MF, 448 .tuner_type = TUNER_TNF_5335MF,
479 .tda9887_conf = TDA9887_PRESENT, 449 .tda9887_conf = TDA9887_PRESENT,
480 .decoder = EM28XX_TVP5150, 450 .decoder = EM28XX_TVP5150,
481 .input = { { 451 .input = { {
482 .type = EM28XX_VMUX_TELEVISION, 452 .type = EM28XX_VMUX_TELEVISION,
483 .vmux = TVP5150_COMPOSITE0, 453 .vmux = TVP5150_COMPOSITE0,
484 .amux = EM28XX_AMUX_LINE_IN, 454 .amux = EM28XX_AMUX_LINE_IN,
@@ -515,7 +485,6 @@ struct em28xx_board em28xx_boards[] = {
515 .name = "Pinnacle PCTV DVB-T", 485 .name = "Pinnacle PCTV DVB-T",
516 .valid = EM28XX_BOARD_NOT_VALIDATED, 486 .valid = EM28XX_BOARD_NOT_VALIDATED,
517 .tuner_type = TUNER_ABSENT, /* MT2060 */ 487 .tuner_type = TUNER_ABSENT, /* MT2060 */
518
519 /* djh - I have serious doubts this is right... */ 488 /* djh - I have serious doubts this is right... */
520 .xclk = EM28XX_XCLK_IR_RC5_MODE | 489 .xclk = EM28XX_XCLK_IR_RC5_MODE |
521 EM28XX_XCLK_FREQUENCY_10MHZ, 490 EM28XX_XCLK_FREQUENCY_10MHZ,
@@ -528,11 +497,10 @@ struct em28xx_board em28xx_boards[] = {
528 [EM2880_BOARD_TERRATEC_HYBRID_XS_FR] = { 497 [EM2880_BOARD_TERRATEC_HYBRID_XS_FR] = {
529 .name = "Terratec Hybrid XS Secam", 498 .name = "Terratec Hybrid XS Secam",
530 .valid = EM28XX_BOARD_NOT_VALIDATED, 499 .valid = EM28XX_BOARD_NOT_VALIDATED,
531 .vchannels = 3,
532 .has_msp34xx = 1, 500 .has_msp34xx = 1,
533 .tuner_type = TUNER_XC2028, 501 .tuner_type = TUNER_XC2028,
534 .decoder = EM28XX_TVP5150, 502 .decoder = EM28XX_TVP5150,
535 .input = { { 503 .input = { {
536 .type = EM28XX_VMUX_TELEVISION, 504 .type = EM28XX_VMUX_TELEVISION,
537 .vmux = TVP5150_COMPOSITE0, 505 .vmux = TVP5150_COMPOSITE0,
538 .amux = EM28XX_AMUX_VIDEO, 506 .amux = EM28XX_AMUX_VIDEO,
@@ -548,13 +516,12 @@ struct em28xx_board em28xx_boards[] = {
548 }, 516 },
549 [EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900] = { 517 [EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900] = {
550 .name = "Hauppauge WinTV HVR 900", 518 .name = "Hauppauge WinTV HVR 900",
551 .vchannels = 3,
552 .tda9887_conf = TDA9887_PRESENT, 519 .tda9887_conf = TDA9887_PRESENT,
553 .tuner_type = TUNER_XC2028, 520 .tuner_type = TUNER_XC2028,
554 .mts_firmware = 1, 521 .mts_firmware = 1,
555 .has_dvb = 1, 522 .has_dvb = 1,
556 .decoder = EM28XX_TVP5150, 523 .decoder = EM28XX_TVP5150,
557 .input = { { 524 .input = { {
558 .type = EM28XX_VMUX_TELEVISION, 525 .type = EM28XX_VMUX_TELEVISION,
559 .vmux = TVP5150_COMPOSITE0, 526 .vmux = TVP5150_COMPOSITE0,
560 .amux = EM28XX_AMUX_VIDEO, 527 .amux = EM28XX_AMUX_VIDEO,
@@ -570,12 +537,11 @@ struct em28xx_board em28xx_boards[] = {
570 }, 537 },
571 [EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900_R2] = { 538 [EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900_R2] = {
572 .name = "Hauppauge WinTV HVR 900 (R2)", 539 .name = "Hauppauge WinTV HVR 900 (R2)",
573 .vchannels = 3,
574 .tda9887_conf = TDA9887_PRESENT, 540 .tda9887_conf = TDA9887_PRESENT,
575 .tuner_type = TUNER_XC2028, 541 .tuner_type = TUNER_XC2028,
576 .mts_firmware = 1, 542 .mts_firmware = 1,
577 .decoder = EM28XX_TVP5150, 543 .decoder = EM28XX_TVP5150,
578 .input = { { 544 .input = { {
579 .type = EM28XX_VMUX_TELEVISION, 545 .type = EM28XX_VMUX_TELEVISION,
580 .vmux = TVP5150_COMPOSITE0, 546 .vmux = TVP5150_COMPOSITE0,
581 .amux = EM28XX_AMUX_VIDEO, 547 .amux = EM28XX_AMUX_VIDEO,
@@ -591,7 +557,6 @@ struct em28xx_board em28xx_boards[] = {
591 }, 557 },
592 [EM2883_BOARD_HAUPPAUGE_WINTV_HVR_950] = { 558 [EM2883_BOARD_HAUPPAUGE_WINTV_HVR_950] = {
593 .name = "Hauppauge WinTV HVR 950", 559 .name = "Hauppauge WinTV HVR 950",
594 .vchannels = 3,
595 .tuner_type = TUNER_XC2028, 560 .tuner_type = TUNER_XC2028,
596 .mts_firmware = 1, 561 .mts_firmware = 1,
597 .has_dvb = 1, 562 .has_dvb = 1,
@@ -613,7 +578,6 @@ struct em28xx_board em28xx_boards[] = {
613 }, 578 },
614 [EM2880_BOARD_PINNACLE_PCTV_HD_PRO] = { 579 [EM2880_BOARD_PINNACLE_PCTV_HD_PRO] = {
615 .name = "Pinnacle PCTV HD Pro Stick", 580 .name = "Pinnacle PCTV HD Pro Stick",
616 .vchannels = 3,
617 .tuner_type = TUNER_XC2028, 581 .tuner_type = TUNER_XC2028,
618 .mts_firmware = 1, 582 .mts_firmware = 1,
619 .has_dvb = 1, 583 .has_dvb = 1,
@@ -635,7 +599,6 @@ struct em28xx_board em28xx_boards[] = {
635 }, 599 },
636 [EM2880_BOARD_AMD_ATI_TV_WONDER_HD_600] = { 600 [EM2880_BOARD_AMD_ATI_TV_WONDER_HD_600] = {
637 .name = "AMD ATI TV Wonder HD 600", 601 .name = "AMD ATI TV Wonder HD 600",
638 .vchannels = 3,
639 .tuner_type = TUNER_XC2028, 602 .tuner_type = TUNER_XC2028,
640 .mts_firmware = 1, 603 .mts_firmware = 1,
641 .has_dvb = 1, 604 .has_dvb = 1,
@@ -656,10 +619,9 @@ struct em28xx_board em28xx_boards[] = {
656 } }, 619 } },
657 }, 620 },
658 [EM2880_BOARD_TERRATEC_HYBRID_XS] = { 621 [EM2880_BOARD_TERRATEC_HYBRID_XS] = {
659 .name = "Terratec Hybrid XS", 622 .name = "Terratec Hybrid XS",
660 .vchannels = 3, 623 .tuner_type = TUNER_XC2028,
661 .tuner_type = TUNER_XC2028, 624 .decoder = EM28XX_TVP5150,
662 .decoder = EM28XX_TVP5150,
663 .has_dvb = 1, 625 .has_dvb = 1,
664 .input = { { 626 .input = { {
665 .type = EM28XX_VMUX_TELEVISION, 627 .type = EM28XX_VMUX_TELEVISION,
@@ -680,10 +642,9 @@ struct em28xx_board em28xx_boards[] = {
680 maybe we'll need it lateron */ 642 maybe we'll need it lateron */
681 [EM2880_BOARD_TERRATEC_PRODIGY_XS] = { 643 [EM2880_BOARD_TERRATEC_PRODIGY_XS] = {
682 .name = "Terratec Prodigy XS", 644 .name = "Terratec Prodigy XS",
683 .vchannels = 3,
684 .tuner_type = TUNER_XC2028, 645 .tuner_type = TUNER_XC2028,
685 .decoder = EM28XX_TVP5150, 646 .decoder = EM28XX_TVP5150,
686 .input = { { 647 .input = { {
687 .type = EM28XX_VMUX_TELEVISION, 648 .type = EM28XX_VMUX_TELEVISION,
688 .vmux = TVP5150_COMPOSITE0, 649 .vmux = TVP5150_COMPOSITE0,
689 .amux = EM28XX_AMUX_VIDEO, 650 .amux = EM28XX_AMUX_VIDEO,
@@ -699,13 +660,11 @@ struct em28xx_board em28xx_boards[] = {
699 }, 660 },
700 [EM2820_BOARD_MSI_VOX_USB_2] = { 661 [EM2820_BOARD_MSI_VOX_USB_2] = {
701 .name = "MSI VOX USB 2.0", 662 .name = "MSI VOX USB 2.0",
702 .vchannels = 3,
703 .tuner_type = TUNER_LG_PAL_NEW_TAPC, 663 .tuner_type = TUNER_LG_PAL_NEW_TAPC,
704 .tda9887_conf = TDA9887_PRESENT | 664 .tda9887_conf = TDA9887_PRESENT |
705 TDA9887_PORT1_ACTIVE | 665 TDA9887_PORT1_ACTIVE |
706 TDA9887_PORT2_ACTIVE, 666 TDA9887_PORT2_ACTIVE,
707 .max_range_640_480 = 1, 667 .max_range_640_480 = 1,
708
709 .decoder = EM28XX_SAA7114, 668 .decoder = EM28XX_SAA7114,
710 .input = { { 669 .input = { {
711 .type = EM28XX_VMUX_TELEVISION, 670 .type = EM28XX_VMUX_TELEVISION,
@@ -724,11 +683,10 @@ struct em28xx_board em28xx_boards[] = {
724 [EM2800_BOARD_TERRATEC_CINERGY_200] = { 683 [EM2800_BOARD_TERRATEC_CINERGY_200] = {
725 .name = "Terratec Cinergy 200 USB", 684 .name = "Terratec Cinergy 200 USB",
726 .is_em2800 = 1, 685 .is_em2800 = 1,
727 .vchannels = 3,
728 .tuner_type = TUNER_LG_PAL_NEW_TAPC, 686 .tuner_type = TUNER_LG_PAL_NEW_TAPC,
729 .tda9887_conf = TDA9887_PRESENT, 687 .tda9887_conf = TDA9887_PRESENT,
730 .decoder = EM28XX_SAA7113, 688 .decoder = EM28XX_SAA7113,
731 .input = { { 689 .input = { {
732 .type = EM28XX_VMUX_TELEVISION, 690 .type = EM28XX_VMUX_TELEVISION,
733 .vmux = SAA7115_COMPOSITE2, 691 .vmux = SAA7115_COMPOSITE2,
734 .amux = EM28XX_AMUX_VIDEO, 692 .amux = EM28XX_AMUX_VIDEO,
@@ -745,9 +703,8 @@ struct em28xx_board em28xx_boards[] = {
745 [EM2800_BOARD_GRABBEEX_USB2800] = { 703 [EM2800_BOARD_GRABBEEX_USB2800] = {
746 .name = "eMPIA Technology, Inc. GrabBeeX+ Video Encoder", 704 .name = "eMPIA Technology, Inc. GrabBeeX+ Video Encoder",
747 .is_em2800 = 1, 705 .is_em2800 = 1,
748 .vchannels = 2,
749 .decoder = EM28XX_SAA7113, 706 .decoder = EM28XX_SAA7113,
750 .input = { { 707 .input = { {
751 .type = EM28XX_VMUX_COMPOSITE1, 708 .type = EM28XX_VMUX_COMPOSITE1,
752 .vmux = SAA7115_COMPOSITE0, 709 .vmux = SAA7115_COMPOSITE0,
753 .amux = EM28XX_AMUX_LINE_IN, 710 .amux = EM28XX_AMUX_LINE_IN,
@@ -760,11 +717,10 @@ struct em28xx_board em28xx_boards[] = {
760 [EM2800_BOARD_LEADTEK_WINFAST_USBII] = { 717 [EM2800_BOARD_LEADTEK_WINFAST_USBII] = {
761 .name = "Leadtek Winfast USB II", 718 .name = "Leadtek Winfast USB II",
762 .is_em2800 = 1, 719 .is_em2800 = 1,
763 .vchannels = 3,
764 .tuner_type = TUNER_LG_PAL_NEW_TAPC, 720 .tuner_type = TUNER_LG_PAL_NEW_TAPC,
765 .tda9887_conf = TDA9887_PRESENT, 721 .tda9887_conf = TDA9887_PRESENT,
766 .decoder = EM28XX_SAA7113, 722 .decoder = EM28XX_SAA7113,
767 .input = { { 723 .input = { {
768 .type = EM28XX_VMUX_TELEVISION, 724 .type = EM28XX_VMUX_TELEVISION,
769 .vmux = SAA7115_COMPOSITE2, 725 .vmux = SAA7115_COMPOSITE2,
770 .amux = EM28XX_AMUX_VIDEO, 726 .amux = EM28XX_AMUX_VIDEO,
@@ -781,11 +737,10 @@ struct em28xx_board em28xx_boards[] = {
781 [EM2800_BOARD_KWORLD_USB2800] = { 737 [EM2800_BOARD_KWORLD_USB2800] = {
782 .name = "Kworld USB2800", 738 .name = "Kworld USB2800",
783 .is_em2800 = 1, 739 .is_em2800 = 1,
784 .vchannels = 3,
785 .tuner_type = TUNER_PHILIPS_FCV1236D, 740 .tuner_type = TUNER_PHILIPS_FCV1236D,
786 .tda9887_conf = TDA9887_PRESENT, 741 .tda9887_conf = TDA9887_PRESENT,
787 .decoder = EM28XX_SAA7113, 742 .decoder = EM28XX_SAA7113,
788 .input = { { 743 .input = { {
789 .type = EM28XX_VMUX_TELEVISION, 744 .type = EM28XX_VMUX_TELEVISION,
790 .vmux = SAA7115_COMPOSITE2, 745 .vmux = SAA7115_COMPOSITE2,
791 .amux = EM28XX_AMUX_VIDEO, 746 .amux = EM28XX_AMUX_VIDEO,
@@ -801,10 +756,9 @@ struct em28xx_board em28xx_boards[] = {
801 }, 756 },
802 [EM2820_BOARD_PINNACLE_DVC_90] = { 757 [EM2820_BOARD_PINNACLE_DVC_90] = {
803 .name = "Pinnacle Dazzle DVC 90/DVC 100", 758 .name = "Pinnacle Dazzle DVC 90/DVC 100",
804 .vchannels = 3,
805 .tuner_type = TUNER_ABSENT, 759 .tuner_type = TUNER_ABSENT,
806 .decoder = EM28XX_SAA7113, 760 .decoder = EM28XX_SAA7113,
807 .input = { { 761 .input = { {
808 .type = EM28XX_VMUX_COMPOSITE1, 762 .type = EM28XX_VMUX_COMPOSITE1,
809 .vmux = SAA7115_COMPOSITE0, 763 .vmux = SAA7115_COMPOSITE0,
810 .amux = EM28XX_AMUX_LINE_IN, 764 .amux = EM28XX_AMUX_LINE_IN,
@@ -817,11 +771,10 @@ struct em28xx_board em28xx_boards[] = {
817 [EM2800_BOARD_VGEAR_POCKETTV] = { 771 [EM2800_BOARD_VGEAR_POCKETTV] = {
818 .name = "V-Gear PocketTV", 772 .name = "V-Gear PocketTV",
819 .is_em2800 = 1, 773 .is_em2800 = 1,
820 .vchannels = 3,
821 .tuner_type = TUNER_LG_PAL_NEW_TAPC, 774 .tuner_type = TUNER_LG_PAL_NEW_TAPC,
822 .tda9887_conf = TDA9887_PRESENT, 775 .tda9887_conf = TDA9887_PRESENT,
823 .decoder = EM28XX_SAA7113, 776 .decoder = EM28XX_SAA7113,
824 .input = { { 777 .input = { {
825 .type = EM28XX_VMUX_TELEVISION, 778 .type = EM28XX_VMUX_TELEVISION,
826 .vmux = SAA7115_COMPOSITE2, 779 .vmux = SAA7115_COMPOSITE2,
827 .amux = EM28XX_AMUX_VIDEO, 780 .amux = EM28XX_AMUX_VIDEO,
@@ -837,11 +790,10 @@ struct em28xx_board em28xx_boards[] = {
837 }, 790 },
838 [EM2820_BOARD_PROLINK_PLAYTV_USB2] = { 791 [EM2820_BOARD_PROLINK_PLAYTV_USB2] = {
839 .name = "Pixelview Prolink PlayTV USB 2.0", 792 .name = "Pixelview Prolink PlayTV USB 2.0",
840 .vchannels = 3,
841 .tda9887_conf = TDA9887_PRESENT, 793 .tda9887_conf = TDA9887_PRESENT,
842 .tuner_type = TUNER_YMEC_TVF_5533MF, 794 .tuner_type = TUNER_YMEC_TVF_5533MF,
843 .decoder = EM28XX_SAA7113, 795 .decoder = EM28XX_SAA7113,
844 .input = { { 796 .input = { {
845 .type = EM28XX_VMUX_TELEVISION, 797 .type = EM28XX_VMUX_TELEVISION,
846 .vmux = SAA7115_COMPOSITE2, 798 .vmux = SAA7115_COMPOSITE2,
847 .amux = EM28XX_AMUX_VIDEO, 799 .amux = EM28XX_AMUX_VIDEO,
@@ -858,13 +810,12 @@ struct em28xx_board em28xx_boards[] = {
858 } }, 810 } },
859 }, 811 },
860 [EM2860_BOARD_POINTNIX_INTRAORAL_CAMERA] = { 812 [EM2860_BOARD_POINTNIX_INTRAORAL_CAMERA] = {
861 .name = "PointNix Intra-Oral Camera", 813 .name = "PointNix Intra-Oral Camera",
862 .has_snapshot_button = 1, 814 .has_snapshot_button = 1,
863 .vchannels = 1, 815 .tda9887_conf = TDA9887_PRESENT,
864 .tda9887_conf = TDA9887_PRESENT, 816 .tuner_type = TUNER_ABSENT,
865 .tuner_type = TUNER_ABSENT, 817 .decoder = EM28XX_SAA7113,
866 .decoder = EM28XX_SAA7113, 818 .input = { {
867 .input = { {
868 .type = EM28XX_VMUX_SVIDEO, 819 .type = EM28XX_VMUX_SVIDEO,
869 .vmux = SAA7115_SVIDEO3, 820 .vmux = SAA7115_SVIDEO3,
870 .amux = EM28XX_AMUX_VIDEO, 821 .amux = EM28XX_AMUX_VIDEO,
@@ -873,10 +824,9 @@ struct em28xx_board em28xx_boards[] = {
873 [EM2880_BOARD_MSI_DIGIVOX_AD] = { 824 [EM2880_BOARD_MSI_DIGIVOX_AD] = {
874 .name = "MSI DigiVox A/D", 825 .name = "MSI DigiVox A/D",
875 .valid = EM28XX_BOARD_NOT_VALIDATED, 826 .valid = EM28XX_BOARD_NOT_VALIDATED,
876 .vchannels = 3,
877 .tuner_type = TUNER_XC2028, 827 .tuner_type = TUNER_XC2028,
878 .decoder = EM28XX_TVP5150, 828 .decoder = EM28XX_TVP5150,
879 .input = { { 829 .input = { {
880 .type = EM28XX_VMUX_TELEVISION, 830 .type = EM28XX_VMUX_TELEVISION,
881 .vmux = TVP5150_COMPOSITE0, 831 .vmux = TVP5150_COMPOSITE0,
882 .amux = EM28XX_AMUX_VIDEO, 832 .amux = EM28XX_AMUX_VIDEO,
@@ -893,10 +843,9 @@ struct em28xx_board em28xx_boards[] = {
893 [EM2880_BOARD_MSI_DIGIVOX_AD_II] = { 843 [EM2880_BOARD_MSI_DIGIVOX_AD_II] = {
894 .name = "MSI DigiVox A/D II", 844 .name = "MSI DigiVox A/D II",
895 .valid = EM28XX_BOARD_NOT_VALIDATED, 845 .valid = EM28XX_BOARD_NOT_VALIDATED,
896 .vchannels = 3,
897 .tuner_type = TUNER_XC2028, 846 .tuner_type = TUNER_XC2028,
898 .decoder = EM28XX_TVP5150, 847 .decoder = EM28XX_TVP5150,
899 .input = { { 848 .input = { {
900 .type = EM28XX_VMUX_TELEVISION, 849 .type = EM28XX_VMUX_TELEVISION,
901 .vmux = TVP5150_COMPOSITE0, 850 .vmux = TVP5150_COMPOSITE0,
902 .amux = EM28XX_AMUX_VIDEO, 851 .amux = EM28XX_AMUX_VIDEO,
@@ -913,10 +862,9 @@ struct em28xx_board em28xx_boards[] = {
913 [EM2880_BOARD_KWORLD_DVB_305U] = { 862 [EM2880_BOARD_KWORLD_DVB_305U] = {
914 .name = "KWorld DVB-T 305U", 863 .name = "KWorld DVB-T 305U",
915 .valid = EM28XX_BOARD_NOT_VALIDATED, 864 .valid = EM28XX_BOARD_NOT_VALIDATED,
916 .vchannels = 3,
917 .tuner_type = TUNER_XC2028, 865 .tuner_type = TUNER_XC2028,
918 .decoder = EM28XX_TVP5150, 866 .decoder = EM28XX_TVP5150,
919 .input = { { 867 .input = { {
920 .type = EM28XX_VMUX_TELEVISION, 868 .type = EM28XX_VMUX_TELEVISION,
921 .vmux = TVP5150_COMPOSITE0, 869 .vmux = TVP5150_COMPOSITE0,
922 .amux = EM28XX_AMUX_VIDEO, 870 .amux = EM28XX_AMUX_VIDEO,
@@ -932,12 +880,11 @@ struct em28xx_board em28xx_boards[] = {
932 }, 880 },
933 [EM2880_BOARD_KWORLD_DVB_310U] = { 881 [EM2880_BOARD_KWORLD_DVB_310U] = {
934 .name = "KWorld DVB-T 310U", 882 .name = "KWorld DVB-T 310U",
935 .vchannels = 3,
936 .tuner_type = TUNER_XC2028, 883 .tuner_type = TUNER_XC2028,
937 .has_dvb = 1, 884 .has_dvb = 1,
938 .mts_firmware = 1, 885 .mts_firmware = 1,
939 .decoder = EM28XX_TVP5150, 886 .decoder = EM28XX_TVP5150,
940 .input = { { 887 .input = { {
941 .type = EM28XX_VMUX_TELEVISION, 888 .type = EM28XX_VMUX_TELEVISION,
942 .vmux = TVP5150_COMPOSITE0, 889 .vmux = TVP5150_COMPOSITE0,
943 .amux = EM28XX_AMUX_VIDEO, 890 .amux = EM28XX_AMUX_VIDEO,
@@ -954,10 +901,9 @@ struct em28xx_board em28xx_boards[] = {
954 [EM2881_BOARD_DNT_DA2_HYBRID] = { 901 [EM2881_BOARD_DNT_DA2_HYBRID] = {
955 .name = "DNT DA2 Hybrid", 902 .name = "DNT DA2 Hybrid",
956 .valid = EM28XX_BOARD_NOT_VALIDATED, 903 .valid = EM28XX_BOARD_NOT_VALIDATED,
957 .vchannels = 3,
958 .tuner_type = TUNER_XC2028, 904 .tuner_type = TUNER_XC2028,
959 .decoder = EM28XX_TVP5150, 905 .decoder = EM28XX_TVP5150,
960 .input = { { 906 .input = { {
961 .type = EM28XX_VMUX_TELEVISION, 907 .type = EM28XX_VMUX_TELEVISION,
962 .vmux = TVP5150_COMPOSITE0, 908 .vmux = TVP5150_COMPOSITE0,
963 .amux = EM28XX_AMUX_VIDEO, 909 .amux = EM28XX_AMUX_VIDEO,
@@ -974,10 +920,9 @@ struct em28xx_board em28xx_boards[] = {
974 [EM2881_BOARD_PINNACLE_HYBRID_PRO] = { 920 [EM2881_BOARD_PINNACLE_HYBRID_PRO] = {
975 .name = "Pinnacle Hybrid Pro", 921 .name = "Pinnacle Hybrid Pro",
976 .valid = EM28XX_BOARD_NOT_VALIDATED, 922 .valid = EM28XX_BOARD_NOT_VALIDATED,
977 .vchannels = 3,
978 .tuner_type = TUNER_XC2028, 923 .tuner_type = TUNER_XC2028,
979 .decoder = EM28XX_TVP5150, 924 .decoder = EM28XX_TVP5150,
980 .input = { { 925 .input = { {
981 .type = EM28XX_VMUX_TELEVISION, 926 .type = EM28XX_VMUX_TELEVISION,
982 .vmux = TVP5150_COMPOSITE0, 927 .vmux = TVP5150_COMPOSITE0,
983 .amux = EM28XX_AMUX_VIDEO, 928 .amux = EM28XX_AMUX_VIDEO,
@@ -994,11 +939,10 @@ struct em28xx_board em28xx_boards[] = {
994 [EM2882_BOARD_PINNACLE_HYBRID_PRO] = { 939 [EM2882_BOARD_PINNACLE_HYBRID_PRO] = {
995 .name = "Pinnacle Hybrid Pro (2)", 940 .name = "Pinnacle Hybrid Pro (2)",
996 .valid = EM28XX_BOARD_NOT_VALIDATED, 941 .valid = EM28XX_BOARD_NOT_VALIDATED,
997 .vchannels = 3,
998 .tuner_type = TUNER_XC2028, 942 .tuner_type = TUNER_XC2028,
999 .mts_firmware = 1, 943 .mts_firmware = 1,
1000 .decoder = EM28XX_TVP5150, 944 .decoder = EM28XX_TVP5150,
1001 .input = { { 945 .input = { {
1002 .type = EM28XX_VMUX_TELEVISION, 946 .type = EM28XX_VMUX_TELEVISION,
1003 .vmux = TVP5150_COMPOSITE0, 947 .vmux = TVP5150_COMPOSITE0,
1004 .amux = EM28XX_AMUX_VIDEO, 948 .amux = EM28XX_AMUX_VIDEO,
@@ -1015,10 +959,9 @@ struct em28xx_board em28xx_boards[] = {
1015 [EM2882_BOARD_KWORLD_VS_DVBT] = { 959 [EM2882_BOARD_KWORLD_VS_DVBT] = {
1016 .name = "Kworld VS-DVB-T 323UR", 960 .name = "Kworld VS-DVB-T 323UR",
1017 .valid = EM28XX_BOARD_NOT_VALIDATED, 961 .valid = EM28XX_BOARD_NOT_VALIDATED,
1018 .vchannels = 3,
1019 .tuner_type = TUNER_XC2028, 962 .tuner_type = TUNER_XC2028,
1020 .decoder = EM28XX_TVP5150, 963 .decoder = EM28XX_TVP5150,
1021 .input = { { 964 .input = { {
1022 .type = EM28XX_VMUX_TELEVISION, 965 .type = EM28XX_VMUX_TELEVISION,
1023 .vmux = TVP5150_COMPOSITE0, 966 .vmux = TVP5150_COMPOSITE0,
1024 .amux = EM28XX_AMUX_VIDEO, 967 .amux = EM28XX_AMUX_VIDEO,
@@ -1035,10 +978,9 @@ struct em28xx_board em28xx_boards[] = {
1035 [EM2882_BOARD_TERRATEC_HYBRID_XS] = { 978 [EM2882_BOARD_TERRATEC_HYBRID_XS] = {
1036 .name = "Terratec Hybrid XS (em2882)", 979 .name = "Terratec Hybrid XS (em2882)",
1037 .valid = EM28XX_BOARD_NOT_VALIDATED, 980 .valid = EM28XX_BOARD_NOT_VALIDATED,
1038 .vchannels = 3,
1039 .tuner_type = TUNER_XC2028, 981 .tuner_type = TUNER_XC2028,
1040 .decoder = EM28XX_TVP5150, 982 .decoder = EM28XX_TVP5150,
1041 .input = { { 983 .input = { {
1042 .type = EM28XX_VMUX_TELEVISION, 984 .type = EM28XX_VMUX_TELEVISION,
1043 .vmux = TVP5150_COMPOSITE0, 985 .vmux = TVP5150_COMPOSITE0,
1044 .amux = EM28XX_AMUX_VIDEO, 986 .amux = EM28XX_AMUX_VIDEO,
@@ -1055,11 +997,9 @@ struct em28xx_board em28xx_boards[] = {
1055 [EM2883_BOARD_KWORLD_HYBRID_A316] = { 997 [EM2883_BOARD_KWORLD_HYBRID_A316] = {
1056 .name = "Kworld PlusTV HD Hybrid 330", 998 .name = "Kworld PlusTV HD Hybrid 330",
1057 .valid = EM28XX_BOARD_NOT_VALIDATED, 999 .valid = EM28XX_BOARD_NOT_VALIDATED,
1058 .vchannels = 3,
1059 .is_em2800 = 0,
1060 .tuner_type = TUNER_XC2028, 1000 .tuner_type = TUNER_XC2028,
1061 .decoder = EM28XX_TVP5150, 1001 .decoder = EM28XX_TVP5150,
1062 .input = { { 1002 .input = { {
1063 .type = EM28XX_VMUX_TELEVISION, 1003 .type = EM28XX_VMUX_TELEVISION,
1064 .vmux = TVP5150_COMPOSITE0, 1004 .vmux = TVP5150_COMPOSITE0,
1065 .amux = EM28XX_AMUX_VIDEO, 1005 .amux = EM28XX_AMUX_VIDEO,
@@ -1075,11 +1015,10 @@ struct em28xx_board em28xx_boards[] = {
1075 }, 1015 },
1076 [EM2820_BOARD_COMPRO_VIDEOMATE_FORYOU] = { 1016 [EM2820_BOARD_COMPRO_VIDEOMATE_FORYOU] = {
1077 .name = "Compro VideoMate ForYou/Stereo", 1017 .name = "Compro VideoMate ForYou/Stereo",
1078 .vchannels = 2,
1079 .tuner_type = TUNER_LG_PAL_NEW_TAPC, 1018 .tuner_type = TUNER_LG_PAL_NEW_TAPC,
1080 .tda9887_conf = TDA9887_PRESENT, 1019 .tda9887_conf = TDA9887_PRESENT,
1081 .decoder = EM28XX_TVP5150, 1020 .decoder = EM28XX_TVP5150,
1082 .input = { { 1021 .input = { {
1083 .type = EM28XX_VMUX_TELEVISION, 1022 .type = EM28XX_VMUX_TELEVISION,
1084 .vmux = TVP5150_COMPOSITE0, 1023 .vmux = TVP5150_COMPOSITE0,
1085 .amux = EM28XX_AMUX_LINE_IN, 1024 .amux = EM28XX_AMUX_LINE_IN,
@@ -1091,7 +1030,6 @@ struct em28xx_board em28xx_boards[] = {
1091 }, 1030 },
1092 [EM2874_BOARD_PINNACLE_PCTV_80E] = { 1031 [EM2874_BOARD_PINNACLE_PCTV_80E] = {
1093 .name = "Pinnacle PCTV HD Mini", 1032 .name = "Pinnacle PCTV HD Mini",
1094 .vchannels = 0,
1095 .tuner_type = TUNER_ABSENT, 1033 .tuner_type = TUNER_ABSENT,
1096 .has_dvb = 1, 1034 .has_dvb = 1,
1097 .ir_codes = ir_codes_pinnacle_pctv_hd, 1035 .ir_codes = ir_codes_pinnacle_pctv_hd,
@@ -1100,7 +1038,7 @@ struct em28xx_board em28xx_boards[] = {
1100 EM2874_I2C_SECONDARY_BUS_SELECT | 1038 EM2874_I2C_SECONDARY_BUS_SELECT |
1101 EM28XX_I2C_FREQ_400_KHZ, 1039 EM28XX_I2C_FREQ_400_KHZ,
1102#ifdef DJH_DEBUG 1040#ifdef DJH_DEBUG
1103 .input = { { 1041 .input = { {
1104 .type = EM28XX_VMUX_TELEVISION, 1042 .type = EM28XX_VMUX_TELEVISION,
1105 .vmux = TVP5150_COMPOSITE0, 1043 .vmux = TVP5150_COMPOSITE0,
1106 .amux = EM28XX_AMUX_LINE_IN, 1044 .amux = EM28XX_AMUX_LINE_IN,
@@ -1330,7 +1268,6 @@ static void em28xx_set_model(struct em28xx *dev)
1330 dev->has_msp34xx = em28xx_boards[dev->model].has_msp34xx; 1268 dev->has_msp34xx = em28xx_boards[dev->model].has_msp34xx;
1331 dev->tda9887_conf = em28xx_boards[dev->model].tda9887_conf; 1269 dev->tda9887_conf = em28xx_boards[dev->model].tda9887_conf;
1332 dev->decoder = em28xx_boards[dev->model].decoder; 1270 dev->decoder = em28xx_boards[dev->model].decoder;
1333 dev->video_inputs = em28xx_boards[dev->model].vchannels;
1334 dev->xclk = em28xx_boards[dev->model].xclk; 1271 dev->xclk = em28xx_boards[dev->model].xclk;
1335 dev->i2c_speed = em28xx_boards[dev->model].i2c_speed; 1272 dev->i2c_speed = em28xx_boards[dev->model].i2c_speed;
1336 dev->max_range_640_480 = em28xx_boards[dev->model].max_range_640_480; 1273 dev->max_range_640_480 = em28xx_boards[dev->model].max_range_640_480;
diff --git a/drivers/media/video/em28xx/em28xx.h b/drivers/media/video/em28xx/em28xx.h
index 3bf23d384266..059cc7f43b56 100644
--- a/drivers/media/video/em28xx/em28xx.h
+++ b/drivers/media/video/em28xx/em28xx.h
@@ -328,7 +328,6 @@ struct em28xx_reg_seq {
328 328
329struct em28xx_board { 329struct em28xx_board {
330 char *name; 330 char *name;
331 int vchannels;
332 int tuner_type; 331 int tuner_type;
333 int tuner_addr; 332 int tuner_addr;
334 333
@@ -441,7 +440,6 @@ struct em28xx {
441 /* GPIO sequences for tuner callbacks */ 440 /* GPIO sequences for tuner callbacks */
442 struct em28xx_reg_seq *tun_analog_gpio, *tun_digital_gpio; 441 struct em28xx_reg_seq *tun_analog_gpio, *tun_digital_gpio;
443 442
444 int video_inputs; /* number of video inputs */
445 struct list_head devlist; 443 struct list_head devlist;
446 444
447 u32 i2s_speed; /* I2S speed for audio digital stream */ 445 u32 i2s_speed; /* I2S speed for audio digital stream */