Skip to content

Commit

Permalink
Merge branch 'to_linus' of master.kernel.org:/pub/scm/linux/kernel/gi…
Browse files Browse the repository at this point in the history
…t/mchehab/v4l-dvb
  • Loading branch information
Linus Torvalds committed Dec 22, 2005
2 parents 0800c5f + 515432a commit fbbde0c
Show file tree
Hide file tree
Showing 5 changed files with 54 additions and 13 deletions.
6 changes: 3 additions & 3 deletions drivers/media/video/saa7127.c
Original file line number Diff line number Diff line change
Expand Up @@ -389,15 +389,15 @@ static int saa7127_set_vps(struct i2c_client *client, struct v4l2_sliced_vbi_dat
static int saa7127_set_cc(struct i2c_client *client, struct v4l2_sliced_vbi_data *data)
{
struct saa7127_state *state = i2c_get_clientdata(client);
u16 cc = data->data[0] << 8 | data->data[1];
u16 cc = data->data[1] << 8 | data->data[0];
int enable = (data->line != 0);

if (enable && (data->field != 0 || data->line != 21))
return -EINVAL;
if (state->cc_enable != enable) {
saa7127_dbg("Turn CC %s\n", enable ? "on" : "off");
saa7127_write(client, SAA7127_REG_CLOSED_CAPTION,
(enable << 6) | 0x11);
(state->xds_enable << 7) | (enable << 6) | 0x11);
state->cc_enable = enable;
}
if (!enable)
Expand All @@ -423,7 +423,7 @@ static int saa7127_set_xds(struct i2c_client *client, struct v4l2_sliced_vbi_dat
if (state->xds_enable != enable) {
saa7127_dbg("Turn XDS %s\n", enable ? "on" : "off");
saa7127_write(client, SAA7127_REG_CLOSED_CAPTION,
(enable << 7) | 0x11);
(enable << 7) | (state->cc_enable << 6) | 0x11);
state->xds_enable = enable;
}
if (!enable)
Expand Down
26 changes: 24 additions & 2 deletions drivers/media/video/saa7134/Kconfig
Original file line number Diff line number Diff line change
@@ -1,18 +1,40 @@
config VIDEO_SAA7134
tristate "Philips SAA7134 support"
depends on VIDEO_DEV && PCI && I2C && SOUND && SND
depends on VIDEO_DEV && PCI && I2C
select VIDEO_BUF
select VIDEO_IR
select VIDEO_TUNER
select CRC32
select SND_PCM_OSS
---help---
This is a video4linux driver for Philips SAA713x based
TV cards.

To compile this driver as a module, choose M here: the
module will be called saa7134.

config VIDEO_SAA7134_ALSA
tristate "Philips SAA7134 DMA audio support"
depends on VIDEO_SAA7134 && SOUND && SND && (!VIDEO_SAA7134_OSS || VIDEO_SAA7134_OSS = m)
select SND_PCM_OSS
---help---
This is a video4linux driver for direct (DMA) audio in
Philips SAA713x based TV cards using ALSA

To compile this driver as a module, choose M here: the
module will be called saa7134-alsa.

config VIDEO_SAA7134_OSS
tristate "Philips SAA7134 DMA audio support (OSS, DEPRECATED)"
depends on VIDEO_SAA7134 && SOUND_PRIME && (!VIDEO_SAA7134_ALSA || VIDEO_SAA7134_ALSA = m)
---help---
This is a video4linux driver for direct (DMA) audio in
Philips SAA713x based TV cards using OSS

This is deprecated in favor of the ALSA module

To compile this driver as a module, choose M here: the
module will be called saa7134-oss.

config VIDEO_SAA7134_DVB
tristate "DVB/ATSC Support for saa7134 based TV cards"
depends on VIDEO_SAA7134 && DVB_CORE
Expand Down
7 changes: 5 additions & 2 deletions drivers/media/video/saa7134/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,11 @@ saa7134-objs := saa7134-cards.o saa7134-core.o saa7134-i2c.o \
saa7134-video.o saa7134-input.o

obj-$(CONFIG_VIDEO_SAA7134) += saa7134.o saa7134-empress.o \
saa6752hs.o saa7134-alsa.o \
saa7134-oss.o
saa6752hs.o

obj-$(CONFIG_VIDEO_SAA7134_ALSA) += saa7134-alsa.o
obj-$(CONFIG_VIDEO_SAA7134_OSS) += saa7134-oss.o

obj-$(CONFIG_VIDEO_SAA7134_DVB) += saa7134-dvb.o

EXTRA_CFLAGS += -I$(src)/..
Expand Down
13 changes: 10 additions & 3 deletions drivers/media/video/saa7134/saa7134-alsa.c
Original file line number Diff line number Diff line change
Expand Up @@ -989,6 +989,14 @@ static int saa7134_alsa_init(void)
struct saa7134_dev *dev = NULL;
struct list_head *list;

if (!dmasound_init && !dmasound_exit) {
dmasound_init = alsa_device_init;
dmasound_exit = alsa_device_exit;
} else {
printk(KERN_WARNING "saa7134 ALSA: can't load, DMA sound handler already assigned (probably to OSS)\n");
return -EBUSY;
}

printk(KERN_INFO "saa7134 ALSA driver for DMA sound loaded\n");

list_for_each(list,&saa7134_devlist) {
Expand All @@ -1001,9 +1009,6 @@ static int saa7134_alsa_init(void)
}
}

dmasound_init = alsa_device_init;
dmasound_exit = alsa_device_exit;

if (dev == NULL)
printk(KERN_INFO "saa7134 ALSA: no saa7134 cards found\n");

Expand All @@ -1023,6 +1028,8 @@ static void saa7134_alsa_exit(void)
snd_card_free(snd_saa7134_cards[idx]);
}

dmasound_init = NULL;
dmasound_exit = NULL;
printk(KERN_INFO "saa7134 ALSA driver for DMA sound unloaded\n");

return;
Expand Down
15 changes: 12 additions & 3 deletions drivers/media/video/saa7134/saa7134-oss.c
Original file line number Diff line number Diff line change
Expand Up @@ -959,8 +959,17 @@ static int saa7134_oss_init(void)
struct saa7134_dev *dev = NULL;
struct list_head *list;

if (!dmasound_init && !dmasound_exit) {
dmasound_init = oss_device_init;
dmasound_exit = oss_device_exit;
} else {
printk(KERN_WARNING "saa7134 OSS: can't load, DMA sound handler already assigned (probably to ALSA)\n");
return -EBUSY;
}

printk(KERN_INFO "saa7134 OSS driver for DMA sound loaded\n");


list_for_each(list,&saa7134_devlist) {
dev = list_entry(list, struct saa7134_dev, devlist);
if (dev->dmasound.priv_data == NULL) {
Expand All @@ -974,9 +983,6 @@ static int saa7134_oss_init(void)
if (dev == NULL)
printk(KERN_INFO "saa7134 OSS: no saa7134 cards found\n");

dmasound_init = oss_device_init;
dmasound_exit = oss_device_exit;

return 0;

}
Expand All @@ -997,6 +1003,9 @@ static void saa7134_oss_exit(void)

}

dmasound_init = NULL;
dmasound_exit = NULL;

printk(KERN_INFO "saa7134 OSS driver for DMA sound unloaded\n");

return;
Expand Down

0 comments on commit fbbde0c

Please sign in to comment.