diff options
Diffstat (limited to 'drivers/media/video')
-rw-r--r-- | drivers/media/video/Kconfig | 1 | ||||
-rw-r--r-- | drivers/media/video/bttv-driver.c | 6 | ||||
-rw-r--r-- | drivers/media/video/cx88/cx88-core.c | 5 | ||||
-rw-r--r-- | drivers/media/video/cx88/cx88-dvb.c | 16 | ||||
-rw-r--r-- | drivers/media/video/cx88/cx88-i2c.c | 4 | ||||
-rw-r--r-- | drivers/media/video/cx88/cx88-vbi.c | 6 | ||||
-rw-r--r-- | drivers/media/video/cx88/cx88-video.c | 12 | ||||
-rw-r--r-- | drivers/media/video/cx88/cx88.h | 4 | ||||
-rw-r--r-- | drivers/media/video/msp3400.c | 28 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-cards.c | 21 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-dvb.c | 2 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-input.c | 1 | ||||
-rw-r--r-- | drivers/media/video/tvaudio.c | 2 |
13 files changed, 60 insertions, 48 deletions
diff --git a/drivers/media/video/Kconfig b/drivers/media/video/Kconfig index c1b3542dad88..d3dd4228b72d 100644 --- a/drivers/media/video/Kconfig +++ b/drivers/media/video/Kconfig | |||
@@ -252,6 +252,7 @@ config VIDEO_SAA7134_DVB | |||
252 | depends on VIDEO_SAA7134 && DVB_CORE | 252 | depends on VIDEO_SAA7134 && DVB_CORE |
253 | select VIDEO_BUF_DVB | 253 | select VIDEO_BUF_DVB |
254 | select DVB_MT352 | 254 | select DVB_MT352 |
255 | select DVB_CX22702 | ||
255 | ---help--- | 256 | ---help--- |
256 | This adds support for DVB cards based on the | 257 | This adds support for DVB cards based on the |
257 | Philips saa7134 chip. | 258 | Philips saa7134 chip. |
diff --git a/drivers/media/video/bttv-driver.c b/drivers/media/video/bttv-driver.c index c13f222fe6bd..033cc5498f23 100644 --- a/drivers/media/video/bttv-driver.c +++ b/drivers/media/video/bttv-driver.c | |||
@@ -3169,7 +3169,7 @@ static struct video_device radio_template = | |||
3169 | /* ----------------------------------------------------------------------- */ | 3169 | /* ----------------------------------------------------------------------- */ |
3170 | /* some debug code */ | 3170 | /* some debug code */ |
3171 | 3171 | ||
3172 | int bttv_risc_decode(u32 risc) | 3172 | static int bttv_risc_decode(u32 risc) |
3173 | { | 3173 | { |
3174 | static char *instr[16] = { | 3174 | static char *instr[16] = { |
3175 | [ BT848_RISC_WRITE >> 28 ] = "write", | 3175 | [ BT848_RISC_WRITE >> 28 ] = "write", |
@@ -3206,8 +3206,8 @@ int bttv_risc_decode(u32 risc) | |||
3206 | return incr[risc >> 28] ? incr[risc >> 28] : 1; | 3206 | return incr[risc >> 28] ? incr[risc >> 28] : 1; |
3207 | } | 3207 | } |
3208 | 3208 | ||
3209 | void bttv_risc_disasm(struct bttv *btv, | 3209 | static void bttv_risc_disasm(struct bttv *btv, |
3210 | struct btcx_riscmem *risc) | 3210 | struct btcx_riscmem *risc) |
3211 | { | 3211 | { |
3212 | unsigned int i,j,n; | 3212 | unsigned int i,j,n; |
3213 | 3213 | ||
diff --git a/drivers/media/video/cx88/cx88-core.c b/drivers/media/video/cx88/cx88-core.c index 26a6138015cb..1ff79b5a8835 100644 --- a/drivers/media/video/cx88/cx88-core.c +++ b/drivers/media/video/cx88/cx88-core.c | |||
@@ -429,7 +429,7 @@ int cx88_sram_channel_setup(struct cx88_core *core, | |||
429 | /* ------------------------------------------------------------------ */ | 429 | /* ------------------------------------------------------------------ */ |
430 | /* debug helper code */ | 430 | /* debug helper code */ |
431 | 431 | ||
432 | int cx88_risc_decode(u32 risc) | 432 | static int cx88_risc_decode(u32 risc) |
433 | { | 433 | { |
434 | static char *instr[16] = { | 434 | static char *instr[16] = { |
435 | [ RISC_SYNC >> 28 ] = "sync", | 435 | [ RISC_SYNC >> 28 ] = "sync", |
@@ -542,7 +542,7 @@ void cx88_sram_channel_dump(struct cx88_core *core, | |||
542 | core->name,cx_read(ch->cnt2_reg)); | 542 | core->name,cx_read(ch->cnt2_reg)); |
543 | } | 543 | } |
544 | 544 | ||
545 | char *cx88_pci_irqs[32] = { | 545 | static char *cx88_pci_irqs[32] = { |
546 | "vid", "aud", "ts", "vip", "hst", "5", "6", "tm1", | 546 | "vid", "aud", "ts", "vip", "hst", "5", "6", "tm1", |
547 | "src_dma", "dst_dma", "risc_rd_err", "risc_wr_err", | 547 | "src_dma", "dst_dma", "risc_rd_err", "risc_wr_err", |
548 | "brdg_err", "src_dma_err", "dst_dma_err", "ipb_dma_err", | 548 | "brdg_err", "src_dma_err", "dst_dma_err", "ipb_dma_err", |
@@ -1206,7 +1206,6 @@ void cx88_core_put(struct cx88_core *core, struct pci_dev *pci) | |||
1206 | /* ------------------------------------------------------------------ */ | 1206 | /* ------------------------------------------------------------------ */ |
1207 | 1207 | ||
1208 | EXPORT_SYMBOL(cx88_print_ioctl); | 1208 | EXPORT_SYMBOL(cx88_print_ioctl); |
1209 | EXPORT_SYMBOL(cx88_pci_irqs); | ||
1210 | EXPORT_SYMBOL(cx88_vid_irqs); | 1209 | EXPORT_SYMBOL(cx88_vid_irqs); |
1211 | EXPORT_SYMBOL(cx88_mpeg_irqs); | 1210 | EXPORT_SYMBOL(cx88_mpeg_irqs); |
1212 | EXPORT_SYMBOL(cx88_print_irqbits); | 1211 | EXPORT_SYMBOL(cx88_print_irqbits); |
diff --git a/drivers/media/video/cx88/cx88-dvb.c b/drivers/media/video/cx88/cx88-dvb.c index bc6f18c45357..9d15d3d5a2b7 100644 --- a/drivers/media/video/cx88/cx88-dvb.c +++ b/drivers/media/video/cx88/cx88-dvb.c | |||
@@ -31,7 +31,7 @@ | |||
31 | #include <linux/suspend.h> | 31 | #include <linux/suspend.h> |
32 | 32 | ||
33 | /* those two frontends need merging via linuxtv cvs ... */ | 33 | /* those two frontends need merging via linuxtv cvs ... */ |
34 | #define HAVE_CX22702 0 | 34 | #define HAVE_CX22702 1 |
35 | #define HAVE_OR51132 1 | 35 | #define HAVE_OR51132 1 |
36 | 36 | ||
37 | #include "cx88.h" | 37 | #include "cx88.h" |
@@ -91,7 +91,7 @@ static void dvb_buf_release(struct videobuf_queue *q, struct videobuf_buffer *vb | |||
91 | cx88_free_buffer(dev->pci, (struct cx88_buffer*)vb); | 91 | cx88_free_buffer(dev->pci, (struct cx88_buffer*)vb); |
92 | } | 92 | } |
93 | 93 | ||
94 | struct videobuf_queue_ops dvb_qops = { | 94 | static struct videobuf_queue_ops dvb_qops = { |
95 | .buf_setup = dvb_buf_setup, | 95 | .buf_setup = dvb_buf_setup, |
96 | .buf_prepare = dvb_buf_prepare, | 96 | .buf_prepare = dvb_buf_prepare, |
97 | .buf_queue = dvb_buf_queue, | 97 | .buf_queue = dvb_buf_queue, |
@@ -191,7 +191,7 @@ static int or51132_set_ts_param(struct dvb_frontend* fe, | |||
191 | return 0; | 191 | return 0; |
192 | } | 192 | } |
193 | 193 | ||
194 | struct or51132_config pchdtv_hd3000 = { | 194 | static struct or51132_config pchdtv_hd3000 = { |
195 | .demod_address = 0x15, | 195 | .demod_address = 0x15, |
196 | .pll_address = 0x61, | 196 | .pll_address = 0x61, |
197 | .pll_desc = &dvb_pll_thomson_dtt7610, | 197 | .pll_desc = &dvb_pll_thomson_dtt7610, |
@@ -243,10 +243,8 @@ static int dvb_register(struct cx8802_dev *dev) | |||
243 | break; | 243 | break; |
244 | #endif | 244 | #endif |
245 | default: | 245 | default: |
246 | printk("%s: The frontend of your DVB/ATSC card isn't supported yet\n" | 246 | printk("%s: The frontend of your DVB/ATSC card isn't supported yet\n", |
247 | "%s: you might want to look out for patches here:\n" | 247 | dev->core->name); |
248 | "%s: http://dl.bytesex.org/patches/\n", | ||
249 | dev->core->name, dev->core->name, dev->core->name); | ||
250 | break; | 248 | break; |
251 | } | 249 | } |
252 | if (NULL == dev->dvb.frontend) { | 250 | if (NULL == dev->dvb.frontend) { |
@@ -308,9 +306,11 @@ static int __devinit dvb_probe(struct pci_dev *pci_dev, | |||
308 | dev); | 306 | dev); |
309 | err = dvb_register(dev); | 307 | err = dvb_register(dev); |
310 | if (0 != err) | 308 | if (0 != err) |
311 | goto fail_free; | 309 | goto fail_fini; |
312 | return 0; | 310 | return 0; |
313 | 311 | ||
312 | fail_fini: | ||
313 | cx8802_fini_common(dev); | ||
314 | fail_free: | 314 | fail_free: |
315 | kfree(dev); | 315 | kfree(dev); |
316 | fail_core: | 316 | fail_core: |
diff --git a/drivers/media/video/cx88/cx88-i2c.c b/drivers/media/video/cx88/cx88-i2c.c index 60800172c026..0725b1288f4f 100644 --- a/drivers/media/video/cx88/cx88-i2c.c +++ b/drivers/media/video/cx88/cx88-i2c.c | |||
@@ -45,7 +45,7 @@ MODULE_PARM_DESC(i2c_scan,"scan i2c bus at insmod time"); | |||
45 | 45 | ||
46 | /* ----------------------------------------------------------------------- */ | 46 | /* ----------------------------------------------------------------------- */ |
47 | 47 | ||
48 | void cx8800_bit_setscl(void *data, int state) | 48 | static void cx8800_bit_setscl(void *data, int state) |
49 | { | 49 | { |
50 | struct cx88_core *core = data; | 50 | struct cx88_core *core = data; |
51 | 51 | ||
@@ -57,7 +57,7 @@ void cx8800_bit_setscl(void *data, int state) | |||
57 | cx_read(MO_I2C); | 57 | cx_read(MO_I2C); |
58 | } | 58 | } |
59 | 59 | ||
60 | void cx8800_bit_setsda(void *data, int state) | 60 | static void cx8800_bit_setsda(void *data, int state) |
61 | { | 61 | { |
62 | struct cx88_core *core = data; | 62 | struct cx88_core *core = data; |
63 | 63 | ||
diff --git a/drivers/media/video/cx88/cx88-vbi.c b/drivers/media/video/cx88/cx88-vbi.c index 471e508b0746..0584ff476387 100644 --- a/drivers/media/video/cx88/cx88-vbi.c +++ b/drivers/media/video/cx88/cx88-vbi.c | |||
@@ -46,9 +46,9 @@ void cx8800_vbi_fmt(struct cx8800_dev *dev, struct v4l2_format *f) | |||
46 | } | 46 | } |
47 | } | 47 | } |
48 | 48 | ||
49 | int cx8800_start_vbi_dma(struct cx8800_dev *dev, | 49 | static int cx8800_start_vbi_dma(struct cx8800_dev *dev, |
50 | struct cx88_dmaqueue *q, | 50 | struct cx88_dmaqueue *q, |
51 | struct cx88_buffer *buf) | 51 | struct cx88_buffer *buf) |
52 | { | 52 | { |
53 | struct cx88_core *core = dev->core; | 53 | struct cx88_core *core = dev->core; |
54 | 54 | ||
diff --git a/drivers/media/video/cx88/cx88-video.c b/drivers/media/video/cx88/cx88-video.c index 701f594e1816..d1f5c92f0ce5 100644 --- a/drivers/media/video/cx88/cx88-video.c +++ b/drivers/media/video/cx88/cx88-video.c | |||
@@ -325,7 +325,7 @@ static struct cx88_ctrl cx8800_ctls[] = { | |||
325 | .shift = 0, | 325 | .shift = 0, |
326 | } | 326 | } |
327 | }; | 327 | }; |
328 | const int CX8800_CTLS = ARRAY_SIZE(cx8800_ctls); | 328 | static const int CX8800_CTLS = ARRAY_SIZE(cx8800_ctls); |
329 | 329 | ||
330 | /* ------------------------------------------------------------------- */ | 330 | /* ------------------------------------------------------------------- */ |
331 | /* resource management */ | 331 | /* resource management */ |
@@ -665,7 +665,7 @@ static void buffer_release(struct videobuf_queue *q, struct videobuf_buffer *vb) | |||
665 | cx88_free_buffer(fh->dev->pci,buf); | 665 | cx88_free_buffer(fh->dev->pci,buf); |
666 | } | 666 | } |
667 | 667 | ||
668 | struct videobuf_queue_ops cx8800_video_qops = { | 668 | static struct videobuf_queue_ops cx8800_video_qops = { |
669 | .buf_setup = buffer_setup, | 669 | .buf_setup = buffer_setup, |
670 | .buf_prepare = buffer_prepare, | 670 | .buf_prepare = buffer_prepare, |
671 | .buf_queue = buffer_queue, | 671 | .buf_queue = buffer_queue, |
@@ -1924,7 +1924,7 @@ static struct file_operations video_fops = | |||
1924 | .llseek = no_llseek, | 1924 | .llseek = no_llseek, |
1925 | }; | 1925 | }; |
1926 | 1926 | ||
1927 | struct video_device cx8800_video_template = | 1927 | static struct video_device cx8800_video_template = |
1928 | { | 1928 | { |
1929 | .name = "cx8800-video", | 1929 | .name = "cx8800-video", |
1930 | .type = VID_TYPE_CAPTURE|VID_TYPE_TUNER|VID_TYPE_SCALES, | 1930 | .type = VID_TYPE_CAPTURE|VID_TYPE_TUNER|VID_TYPE_SCALES, |
@@ -1933,7 +1933,7 @@ struct video_device cx8800_video_template = | |||
1933 | .minor = -1, | 1933 | .minor = -1, |
1934 | }; | 1934 | }; |
1935 | 1935 | ||
1936 | struct video_device cx8800_vbi_template = | 1936 | static struct video_device cx8800_vbi_template = |
1937 | { | 1937 | { |
1938 | .name = "cx8800-vbi", | 1938 | .name = "cx8800-vbi", |
1939 | .type = VID_TYPE_TELETEXT|VID_TYPE_TUNER, | 1939 | .type = VID_TYPE_TELETEXT|VID_TYPE_TUNER, |
@@ -1951,7 +1951,7 @@ static struct file_operations radio_fops = | |||
1951 | .llseek = no_llseek, | 1951 | .llseek = no_llseek, |
1952 | }; | 1952 | }; |
1953 | 1953 | ||
1954 | struct video_device cx8800_radio_template = | 1954 | static struct video_device cx8800_radio_template = |
1955 | { | 1955 | { |
1956 | .name = "cx8800-radio", | 1956 | .name = "cx8800-radio", |
1957 | .type = VID_TYPE_TUNER, | 1957 | .type = VID_TYPE_TUNER, |
@@ -2226,7 +2226,7 @@ static int cx8800_resume(struct pci_dev *pci_dev) | |||
2226 | 2226 | ||
2227 | /* ----------------------------------------------------------- */ | 2227 | /* ----------------------------------------------------------- */ |
2228 | 2228 | ||
2229 | struct pci_device_id cx8800_pci_tbl[] = { | 2229 | static struct pci_device_id cx8800_pci_tbl[] = { |
2230 | { | 2230 | { |
2231 | .vendor = 0x14f1, | 2231 | .vendor = 0x14f1, |
2232 | .device = 0x8800, | 2232 | .device = 0x8800, |
diff --git a/drivers/media/video/cx88/cx88.h b/drivers/media/video/cx88/cx88.h index b351d9eae615..88eaaaba5ad8 100644 --- a/drivers/media/video/cx88/cx88.h +++ b/drivers/media/video/cx88/cx88.h | |||
@@ -420,7 +420,6 @@ struct cx8802_dev { | |||
420 | /* ----------------------------------------------------------- */ | 420 | /* ----------------------------------------------------------- */ |
421 | /* cx88-core.c */ | 421 | /* cx88-core.c */ |
422 | 422 | ||
423 | extern char *cx88_pci_irqs[32]; | ||
424 | extern char *cx88_vid_irqs[32]; | 423 | extern char *cx88_vid_irqs[32]; |
425 | extern char *cx88_mpeg_irqs[32]; | 424 | extern char *cx88_mpeg_irqs[32]; |
426 | extern void cx88_print_irqbits(char *name, char *tag, char **strings, | 425 | extern void cx88_print_irqbits(char *name, char *tag, char **strings, |
@@ -472,9 +471,6 @@ extern void cx88_core_put(struct cx88_core *core, | |||
472 | /* cx88-vbi.c */ | 471 | /* cx88-vbi.c */ |
473 | 472 | ||
474 | void cx8800_vbi_fmt(struct cx8800_dev *dev, struct v4l2_format *f); | 473 | void cx8800_vbi_fmt(struct cx8800_dev *dev, struct v4l2_format *f); |
475 | int cx8800_start_vbi_dma(struct cx8800_dev *dev, | ||
476 | struct cx88_dmaqueue *q, | ||
477 | struct cx88_buffer *buf); | ||
478 | int cx8800_stop_vbi_dma(struct cx8800_dev *dev); | 474 | int cx8800_stop_vbi_dma(struct cx8800_dev *dev); |
479 | int cx8800_restart_vbi_queue(struct cx8800_dev *dev, | 475 | int cx8800_restart_vbi_queue(struct cx8800_dev *dev, |
480 | struct cx88_dmaqueue *q); | 476 | struct cx88_dmaqueue *q); |
diff --git a/drivers/media/video/msp3400.c b/drivers/media/video/msp3400.c index c97df705df5e..7fbb8581a87d 100644 --- a/drivers/media/video/msp3400.c +++ b/drivers/media/video/msp3400.c | |||
@@ -380,7 +380,9 @@ static void msp3400c_setvolume(struct i2c_client *client, | |||
380 | int val = 0, bal = 0; | 380 | int val = 0, bal = 0; |
381 | 381 | ||
382 | if (!muted) { | 382 | if (!muted) { |
383 | val = (volume * 0x7F / 65535) << 8; | 383 | /* 0x7f instead if 0x73 here has sound quality issues, |
384 | * probably due to overmodulation + clipping ... */ | ||
385 | val = (volume * 0x73 / 65535) << 8; | ||
384 | } | 386 | } |
385 | if (val) { | 387 | if (val) { |
386 | bal = (balance / 256) - 128; | 388 | bal = (balance / 256) - 128; |
@@ -997,7 +999,13 @@ static int msp34xx_modus(int norm) | |||
997 | { | 999 | { |
998 | switch (norm) { | 1000 | switch (norm) { |
999 | case VIDEO_MODE_PAL: | 1001 | case VIDEO_MODE_PAL: |
1002 | #if 1 | ||
1003 | /* experimental: not sure this works with all chip versions */ | ||
1004 | return 0x7003; | ||
1005 | #else | ||
1006 | /* previous value, try this if it breaks ... */ | ||
1000 | return 0x1003; | 1007 | return 0x1003; |
1008 | #endif | ||
1001 | case VIDEO_MODE_NTSC: /* BTSC */ | 1009 | case VIDEO_MODE_NTSC: /* BTSC */ |
1002 | return 0x2003; | 1010 | return 0x2003; |
1003 | case VIDEO_MODE_SECAM: | 1011 | case VIDEO_MODE_SECAM: |
@@ -1264,6 +1272,7 @@ static int msp34xxg_thread(void *data) | |||
1264 | int val, std, i; | 1272 | int val, std, i; |
1265 | 1273 | ||
1266 | printk("msp34xxg: daemon started\n"); | 1274 | printk("msp34xxg: daemon started\n"); |
1275 | msp->source = 1; /* default */ | ||
1267 | for (;;) { | 1276 | for (;;) { |
1268 | d2printk(KERN_DEBUG "msp34xxg: thread: sleep\n"); | 1277 | d2printk(KERN_DEBUG "msp34xxg: thread: sleep\n"); |
1269 | msp34xx_sleep(msp,-1); | 1278 | msp34xx_sleep(msp,-1); |
@@ -1334,8 +1343,9 @@ static void msp34xxg_set_source(struct i2c_client *client, int source) | |||
1334 | 1343 | ||
1335 | /* fix matrix mode to stereo and let the msp choose what | 1344 | /* fix matrix mode to stereo and let the msp choose what |
1336 | * to output according to 'source', as recommended | 1345 | * to output according to 'source', as recommended |
1346 | * for MONO (source==0) downmixing set bit[7:0] to 0x30 | ||
1337 | */ | 1347 | */ |
1338 | int value = (source&0x07)<<8|(source==0 ? 0x00:0x20); | 1348 | int value = (source&0x07)<<8|(source==0 ? 0x30:0x20); |
1339 | dprintk("msp34xxg: set source to %d (0x%x)\n", source, value); | 1349 | dprintk("msp34xxg: set source to %d (0x%x)\n", source, value); |
1340 | msp3400c_write(client, | 1350 | msp3400c_write(client, |
1341 | I2C_MSP3400C_DFP, | 1351 | I2C_MSP3400C_DFP, |
@@ -1359,7 +1369,7 @@ static void msp34xxg_set_source(struct i2c_client *client, int source) | |||
1359 | msp3400c_write(client, | 1369 | msp3400c_write(client, |
1360 | I2C_MSP3400C_DEM, | 1370 | I2C_MSP3400C_DEM, |
1361 | 0x22, /* a2 threshold for stereo/bilingual */ | 1371 | 0x22, /* a2 threshold for stereo/bilingual */ |
1362 | source==0 ? 0x7f0:stereo_threshold); | 1372 | stereo_threshold); |
1363 | msp->source=source; | 1373 | msp->source=source; |
1364 | } | 1374 | } |
1365 | 1375 | ||
@@ -1394,7 +1404,7 @@ static void msp34xxg_detect_stereo(struct i2c_client *client) | |||
1394 | static void msp34xxg_set_audmode(struct i2c_client *client, int audmode) | 1404 | static void msp34xxg_set_audmode(struct i2c_client *client, int audmode) |
1395 | { | 1405 | { |
1396 | struct msp3400c *msp = i2c_get_clientdata(client); | 1406 | struct msp3400c *msp = i2c_get_clientdata(client); |
1397 | int source = 0; | 1407 | int source; |
1398 | 1408 | ||
1399 | switch (audmode) { | 1409 | switch (audmode) { |
1400 | case V4L2_TUNER_MODE_MONO: | 1410 | case V4L2_TUNER_MODE_MONO: |
@@ -1410,9 +1420,10 @@ static void msp34xxg_set_audmode(struct i2c_client *client, int audmode) | |||
1410 | case V4L2_TUNER_MODE_LANG2: | 1420 | case V4L2_TUNER_MODE_LANG2: |
1411 | source=4; /* stereo or B */ | 1421 | source=4; /* stereo or B */ |
1412 | break; | 1422 | break; |
1413 | default: /* doing nothing: a safe, sane default */ | 1423 | default: |
1414 | audmode = 0; | 1424 | audmode = 0; |
1415 | return; | 1425 | source = 1; |
1426 | break; | ||
1416 | } | 1427 | } |
1417 | msp->audmode = audmode; | 1428 | msp->audmode = audmode; |
1418 | msp34xxg_set_source(client, source); | 1429 | msp34xxg_set_source(client, source); |
@@ -1514,12 +1525,9 @@ static int msp_attach(struct i2c_adapter *adap, int addr, int kind) | |||
1514 | 1525 | ||
1515 | msp->opmode = opmode; | 1526 | msp->opmode = opmode; |
1516 | if (OPMODE_AUTO == msp->opmode) { | 1527 | if (OPMODE_AUTO == msp->opmode) { |
1517 | #if 0 /* seems to work for ivtv only, disable by default for now ... */ | ||
1518 | if (HAVE_SIMPLER(msp)) | 1528 | if (HAVE_SIMPLER(msp)) |
1519 | msp->opmode = OPMODE_SIMPLER; | 1529 | msp->opmode = OPMODE_SIMPLER; |
1520 | else | 1530 | else if (HAVE_SIMPLE(msp)) |
1521 | #endif | ||
1522 | if (HAVE_SIMPLE(msp)) | ||
1523 | msp->opmode = OPMODE_SIMPLE; | 1531 | msp->opmode = OPMODE_SIMPLE; |
1524 | else | 1532 | else |
1525 | msp->opmode = OPMODE_MANUAL; | 1533 | msp->opmode = OPMODE_MANUAL; |
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c index 180d3175ea5b..c51eb7f078d3 100644 --- a/drivers/media/video/saa7134/saa7134-cards.c +++ b/drivers/media/video/saa7134/saa7134-cards.c | |||
@@ -183,12 +183,12 @@ struct saa7134_board saa7134_boards[] = { | |||
183 | .name = "LifeView FlyTV Platinum FM", | 183 | .name = "LifeView FlyTV Platinum FM", |
184 | .audio_clock = 0x00200000, | 184 | .audio_clock = 0x00200000, |
185 | .tuner_type = TUNER_PHILIPS_TDA8290, | 185 | .tuner_type = TUNER_PHILIPS_TDA8290, |
186 | // .gpiomask = 0xe000, | 186 | .gpiomask = 0x1E000, /* Set GP16 and unused 15,14,13 to Output */ |
187 | .inputs = {{ | 187 | .inputs = {{ |
188 | .name = name_tv, | 188 | .name = name_tv, |
189 | .vmux = 1, | 189 | .vmux = 1, |
190 | .amux = TV, | 190 | .amux = TV, |
191 | // .gpio = 0x0000, | 191 | .gpio = 0x10000, /* GP16=1 selects TV input */ |
192 | .tv = 1, | 192 | .tv = 1, |
193 | },{ | 193 | },{ |
194 | /* .name = name_tv_mono, | 194 | /* .name = name_tv_mono, |
@@ -212,12 +212,12 @@ struct saa7134_board saa7134_boards[] = { | |||
212 | .amux = LINE2, | 212 | .amux = LINE2, |
213 | // .gpio = 0x4000, | 213 | // .gpio = 0x4000, |
214 | }}, | 214 | }}, |
215 | /* .radio = { | 215 | .radio = { |
216 | .name = name_radio, | 216 | .name = name_radio, |
217 | .amux = LINE2, | 217 | .amux = TV, |
218 | .gpio = 0x2000, | 218 | .gpio = 0x00000, /* GP16=0 selects FM radio antenna */ |
219 | }, | 219 | }, |
220 | */ }, | 220 | }, |
221 | [SAA7134_BOARD_EMPRESS] = { | 221 | [SAA7134_BOARD_EMPRESS] = { |
222 | /* "Gert Vervoort" <gert.vervoort@philips.com> */ | 222 | /* "Gert Vervoort" <gert.vervoort@philips.com> */ |
223 | .name = "EMPRESS", | 223 | .name = "EMPRESS", |
@@ -1628,11 +1628,17 @@ struct pci_device_id saa7134_pci_tbl[] = { | |||
1628 | },{ | 1628 | },{ |
1629 | .vendor = PCI_VENDOR_ID_PHILIPS, | 1629 | .vendor = PCI_VENDOR_ID_PHILIPS, |
1630 | .device = PCI_DEVICE_ID_PHILIPS_SAA7133, | 1630 | .device = PCI_DEVICE_ID_PHILIPS_SAA7133, |
1631 | .subvendor = 0x5168, | 1631 | .subvendor = 0x5168, /* Animation Technologies (LifeView) */ |
1632 | .subdevice = 0x0214, /* Standard PCI, LR214WF */ | 1632 | .subdevice = 0x0214, /* Standard PCI, LR214WF */ |
1633 | .driver_data = SAA7134_BOARD_FLYTVPLATINUM_FM, | 1633 | .driver_data = SAA7134_BOARD_FLYTVPLATINUM_FM, |
1634 | },{ | 1634 | },{ |
1635 | .vendor = PCI_VENDOR_ID_PHILIPS, | 1635 | .vendor = PCI_VENDOR_ID_PHILIPS, |
1636 | .device = PCI_DEVICE_ID_PHILIPS_SAA7133, | ||
1637 | .subvendor = 0x1489, /* KYE */ | ||
1638 | .subdevice = 0x0214, /* Genius VideoWonder ProTV */ | ||
1639 | .driver_data = SAA7134_BOARD_FLYTVPLATINUM_FM, /* is an LR214WF actually */ | ||
1640 | },{ | ||
1641 | .vendor = PCI_VENDOR_ID_PHILIPS, | ||
1636 | .device = PCI_DEVICE_ID_PHILIPS_SAA7134, | 1642 | .device = PCI_DEVICE_ID_PHILIPS_SAA7134, |
1637 | .subvendor = 0x16be, | 1643 | .subvendor = 0x16be, |
1638 | .subdevice = 0x0003, | 1644 | .subdevice = 0x0003, |
@@ -1948,6 +1954,7 @@ int saa7134_board_init1(struct saa7134_dev *dev) | |||
1948 | dev->has_remote = 1; | 1954 | dev->has_remote = 1; |
1949 | board_flyvideo(dev); | 1955 | board_flyvideo(dev); |
1950 | break; | 1956 | break; |
1957 | case SAA7134_BOARD_FLYTVPLATINUM_FM: | ||
1951 | case SAA7134_BOARD_CINERGY400: | 1958 | case SAA7134_BOARD_CINERGY400: |
1952 | case SAA7134_BOARD_CINERGY600: | 1959 | case SAA7134_BOARD_CINERGY600: |
1953 | case SAA7134_BOARD_CINERGY600_MK3: | 1960 | case SAA7134_BOARD_CINERGY600_MK3: |
diff --git a/drivers/media/video/saa7134/saa7134-dvb.c b/drivers/media/video/saa7134/saa7134-dvb.c index dd4a6c8ee65f..c2873ae029f9 100644 --- a/drivers/media/video/saa7134/saa7134-dvb.c +++ b/drivers/media/video/saa7134/saa7134-dvb.c | |||
@@ -172,7 +172,7 @@ static int fe_request_firmware(struct dvb_frontend* fe, | |||
172 | return request_firmware(fw, name, &dev->pci->dev); | 172 | return request_firmware(fw, name, &dev->pci->dev); |
173 | } | 173 | } |
174 | 174 | ||
175 | struct tda1004x_config medion_cardbus = { | 175 | static struct tda1004x_config medion_cardbus = { |
176 | .demod_address = 0x08, /* not sure this is correct */ | 176 | .demod_address = 0x08, /* not sure this is correct */ |
177 | .invert = 0, | 177 | .invert = 0, |
178 | .invert_oclk = 0, | 178 | .invert_oclk = 0, |
diff --git a/drivers/media/video/saa7134/saa7134-input.c b/drivers/media/video/saa7134/saa7134-input.c index 727d437e07df..ca50cf531f20 100644 --- a/drivers/media/video/saa7134/saa7134-input.c +++ b/drivers/media/video/saa7134/saa7134-input.c | |||
@@ -379,6 +379,7 @@ int saa7134_input_init1(struct saa7134_dev *dev) | |||
379 | switch (dev->board) { | 379 | switch (dev->board) { |
380 | case SAA7134_BOARD_FLYVIDEO2000: | 380 | case SAA7134_BOARD_FLYVIDEO2000: |
381 | case SAA7134_BOARD_FLYVIDEO3000: | 381 | case SAA7134_BOARD_FLYVIDEO3000: |
382 | case SAA7134_BOARD_FLYTVPLATINUM_FM: | ||
382 | ir_codes = flyvideo_codes; | 383 | ir_codes = flyvideo_codes; |
383 | mask_keycode = 0xEC00000; | 384 | mask_keycode = 0xEC00000; |
384 | mask_keydown = 0x0040000; | 385 | mask_keydown = 0x0040000; |
diff --git a/drivers/media/video/tvaudio.c b/drivers/media/video/tvaudio.c index 065eb4007b1d..80dc34f18c2c 100644 --- a/drivers/media/video/tvaudio.c +++ b/drivers/media/video/tvaudio.c | |||
@@ -991,7 +991,7 @@ static int tda9874a_initialize(struct CHIPSTATE *chip) | |||
991 | { | 991 | { |
992 | if (tda9874a_SIF > 2) | 992 | if (tda9874a_SIF > 2) |
993 | tda9874a_SIF = 1; | 993 | tda9874a_SIF = 1; |
994 | if (tda9874a_STD >= 8) | 994 | if (tda9874a_STD > 8) |
995 | tda9874a_STD = 0; | 995 | tda9874a_STD = 0; |
996 | if(tda9874a_AMSEL > 1) | 996 | if(tda9874a_AMSEL > 1) |
997 | tda9874a_AMSEL = 0; | 997 | tda9874a_AMSEL = 0; |