Merge branch 'to_linus' of master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb

+54 -13
+3 -3
drivers/media/video/saa7127.c
··· 389 389 static int saa7127_set_cc(struct i2c_client *client, struct v4l2_sliced_vbi_data *data) 390 390 { 391 391 struct saa7127_state *state = i2c_get_clientdata(client); 392 - u16 cc = data->data[0] << 8 | data->data[1]; 392 + u16 cc = data->data[1] << 8 | data->data[0]; 393 393 int enable = (data->line != 0); 394 394 395 395 if (enable && (data->field != 0 || data->line != 21)) ··· 397 397 if (state->cc_enable != enable) { 398 398 saa7127_dbg("Turn CC %s\n", enable ? "on" : "off"); 399 399 saa7127_write(client, SAA7127_REG_CLOSED_CAPTION, 400 - (enable << 6) | 0x11); 400 + (state->xds_enable << 7) | (enable << 6) | 0x11); 401 401 state->cc_enable = enable; 402 402 } 403 403 if (!enable) ··· 423 423 if (state->xds_enable != enable) { 424 424 saa7127_dbg("Turn XDS %s\n", enable ? "on" : "off"); 425 425 saa7127_write(client, SAA7127_REG_CLOSED_CAPTION, 426 - (enable << 7) | 0x11); 426 + (enable << 7) | (state->cc_enable << 6) | 0x11); 427 427 state->xds_enable = enable; 428 428 } 429 429 if (!enable)
+24 -2
drivers/media/video/saa7134/Kconfig
··· 1 1 config VIDEO_SAA7134 2 2 tristate "Philips SAA7134 support" 3 - depends on VIDEO_DEV && PCI && I2C && SOUND && SND 3 + depends on VIDEO_DEV && PCI && I2C 4 4 select VIDEO_BUF 5 5 select VIDEO_IR 6 6 select VIDEO_TUNER 7 7 select CRC32 8 - select SND_PCM_OSS 9 8 ---help--- 10 9 This is a video4linux driver for Philips SAA713x based 11 10 TV cards. 12 11 13 12 To compile this driver as a module, choose M here: the 14 13 module will be called saa7134. 14 + 15 + config VIDEO_SAA7134_ALSA 16 + tristate "Philips SAA7134 DMA audio support" 17 + depends on VIDEO_SAA7134 && SOUND && SND && (!VIDEO_SAA7134_OSS || VIDEO_SAA7134_OSS = m) 18 + select SND_PCM_OSS 19 + ---help--- 20 + This is a video4linux driver for direct (DMA) audio in 21 + Philips SAA713x based TV cards using ALSA 22 + 23 + To compile this driver as a module, choose M here: the 24 + module will be called saa7134-alsa. 25 + 26 + config VIDEO_SAA7134_OSS 27 + tristate "Philips SAA7134 DMA audio support (OSS, DEPRECATED)" 28 + depends on VIDEO_SAA7134 && SOUND_PRIME && (!VIDEO_SAA7134_ALSA || VIDEO_SAA7134_ALSA = m) 29 + ---help--- 30 + This is a video4linux driver for direct (DMA) audio in 31 + Philips SAA713x based TV cards using OSS 32 + 33 + This is deprecated in favor of the ALSA module 34 + 35 + To compile this driver as a module, choose M here: the 36 + module will be called saa7134-oss. 15 37 16 38 config VIDEO_SAA7134_DVB 17 39 tristate "DVB/ATSC Support for saa7134 based TV cards"
+5 -2
drivers/media/video/saa7134/Makefile
··· 4 4 saa7134-video.o saa7134-input.o 5 5 6 6 obj-$(CONFIG_VIDEO_SAA7134) += saa7134.o saa7134-empress.o \ 7 - saa6752hs.o saa7134-alsa.o \ 8 - saa7134-oss.o 7 + saa6752hs.o 8 + 9 + obj-$(CONFIG_VIDEO_SAA7134_ALSA) += saa7134-alsa.o 10 + obj-$(CONFIG_VIDEO_SAA7134_OSS) += saa7134-oss.o 11 + 9 12 obj-$(CONFIG_VIDEO_SAA7134_DVB) += saa7134-dvb.o 10 13 11 14 EXTRA_CFLAGS += -I$(src)/..
+10 -3
drivers/media/video/saa7134/saa7134-alsa.c
··· 989 989 struct saa7134_dev *dev = NULL; 990 990 struct list_head *list; 991 991 992 + if (!dmasound_init && !dmasound_exit) { 993 + dmasound_init = alsa_device_init; 994 + dmasound_exit = alsa_device_exit; 995 + } else { 996 + printk(KERN_WARNING "saa7134 ALSA: can't load, DMA sound handler already assigned (probably to OSS)\n"); 997 + return -EBUSY; 998 + } 999 + 992 1000 printk(KERN_INFO "saa7134 ALSA driver for DMA sound loaded\n"); 993 1001 994 1002 list_for_each(list,&saa7134_devlist) { ··· 1008 1000 return -EBUSY; 1009 1001 } 1010 1002 } 1011 - 1012 - dmasound_init = alsa_device_init; 1013 - dmasound_exit = alsa_device_exit; 1014 1003 1015 1004 if (dev == NULL) 1016 1005 printk(KERN_INFO "saa7134 ALSA: no saa7134 cards found\n"); ··· 1028 1023 snd_card_free(snd_saa7134_cards[idx]); 1029 1024 } 1030 1025 1026 + dmasound_init = NULL; 1027 + dmasound_exit = NULL; 1031 1028 printk(KERN_INFO "saa7134 ALSA driver for DMA sound unloaded\n"); 1032 1029 1033 1030 return;
+12 -3
drivers/media/video/saa7134/saa7134-oss.c
··· 959 959 struct saa7134_dev *dev = NULL; 960 960 struct list_head *list; 961 961 962 + if (!dmasound_init && !dmasound_exit) { 963 + dmasound_init = oss_device_init; 964 + dmasound_exit = oss_device_exit; 965 + } else { 966 + printk(KERN_WARNING "saa7134 OSS: can't load, DMA sound handler already assigned (probably to ALSA)\n"); 967 + return -EBUSY; 968 + } 969 + 962 970 printk(KERN_INFO "saa7134 OSS driver for DMA sound loaded\n"); 971 + 963 972 964 973 list_for_each(list,&saa7134_devlist) { 965 974 dev = list_entry(list, struct saa7134_dev, devlist); ··· 982 973 983 974 if (dev == NULL) 984 975 printk(KERN_INFO "saa7134 OSS: no saa7134 cards found\n"); 985 - 986 - dmasound_init = oss_device_init; 987 - dmasound_exit = oss_device_exit; 988 976 989 977 return 0; 990 978 ··· 1002 996 oss_device_exit(dev); 1003 997 1004 998 } 999 + 1000 + dmasound_init = NULL; 1001 + dmasound_exit = NULL; 1005 1002 1006 1003 printk(KERN_INFO "saa7134 OSS driver for DMA sound unloaded\n"); 1007 1004