diff options
author | Nickolay V. Shmyrev <devnull@localhost> | 2005-10-06 21:37:02 +0000 |
---|---|---|
committer | Nickolay V. Shmyrev <devnull@localhost> | 2005-10-06 21:37:02 +0000 |
commit | 54060236a7efe01640b889d00c8f7b65918faa7a (patch) | |
tree | f51a5e8d2eebd6e6d607ff08b7a93ef2c18e8754 /linux/drivers/media/video/saa7134/saa7134-core.c | |
parent | 96412f4acdf97fa45b5058d4e05dca7eb4db18f1 (diff) | |
download | mediapointer-dvb-s2-54060236a7efe01640b889d00c8f7b65918faa7a.tar.gz mediapointer-dvb-s2-54060236a7efe01640b889d00c8f7b65918faa7a.tar.bz2 |
* Makefile:
* saa7134-alsa.c: (saa7134_dma_stop), (saa7134_dma_start),
(saa7134_irq_alsa_done), (snd_card_saa7134_capture_trigger),
(dsp_buffer_conf), (dsp_buffer_init),
(snd_card_saa7134_pcm_prepare), (snd_card_saa7134_capture_prepare),
(snd_card_saa7134_pointer), (snd_card_saa7134_capture_pointer),
(snd_card_saa7134_runtime_free), (snd_card_saa7134_hw_params),
(snd_card_saa7134_hw_free), (dsp_buffer_free), (saa7134_cap_close),
(saa7134_cap_open), (snd_card_saa7134_capture_open),
(snd_card_saa7134_capture_close), (snd_card_saa7134_pcm),
(snd_saa7134_volume_info), (snd_saa7134_volume_get),
(snd_saa7134_volume_put), (snd_saa7134_capsrc_info),
(snd_saa7134_capsrc_get), (snd_saa7134_capsrc_put),
(snd_card_saa7134_new_mixer), (snd_saa7134_free),
(snd_saa7134_dev_free), (alsa_card_saa7134_create),
(alsa_card_saa7134_exit):
* saa7134-core.c: (saa7134_irq), (saa7134_initdev),
(saa7134_finidev):
* saa7134-oss.c: (dsp_rec_start):
* saa7134-reg.h:
* saa7134.h:
- Alsa support for saa7134 that should work. Wonderful
patch from Ricardo.
Signed-off-by: Ricardo Cerqueira <v4l@cerqueira.org>
Diffstat (limited to 'linux/drivers/media/video/saa7134/saa7134-core.c')
-rw-r--r-- | linux/drivers/media/video/saa7134/saa7134-core.c | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/linux/drivers/media/video/saa7134/saa7134-core.c b/linux/drivers/media/video/saa7134/saa7134-core.c index 6a5398922..bd10a0293 100644 --- a/linux/drivers/media/video/saa7134/saa7134-core.c +++ b/linux/drivers/media/video/saa7134/saa7134-core.c @@ -1,5 +1,5 @@ /* - * $Id: saa7134-core.c,v 1.41 2005/09/14 23:11:39 nsh Exp $ + * $Id: saa7134-core.c,v 1.42 2005/10/06 21:37:02 nsh Exp $ * * device driver for philips saa7134 based TV cards * driver core @@ -59,6 +59,10 @@ static unsigned int oss = 0; module_param(oss, int, 0444); MODULE_PARM_DESC(oss,"register oss devices (default: no)"); +static unsigned int alsa = 0; +module_param(alsa, int, 0444); +MODULE_PARM_DESC(alsa,"register alsa devices (default: no)"); + static unsigned int latency = UNSET; module_param(latency, int, 0444); MODULE_PARM_DESC(latency,"pci latency timer"); @@ -648,13 +652,19 @@ static irqreturn_t saa7134_irq(int irq, void *dev_id, struct pt_regs *regs) card_has_mpeg(dev)) saa7134_irq_ts_done(dev,status); - if ((report & SAA7134_IRQ_REPORT_DONE_RA3)) - saa7134_irq_oss_done(dev,status); + if ((report & SAA7134_IRQ_REPORT_DONE_RA3)) { + if (oss) { + saa7134_irq_oss_done(dev,status); + } else if (alsa) { + saa7134_irq_alsa_done(dev,status); + } + } if ((report & (SAA7134_IRQ_REPORT_GPIO16 | SAA7134_IRQ_REPORT_GPIO18)) && dev->remote) saa7134_input_irq(dev); + } if (10 == loop) { @@ -1075,6 +1085,10 @@ static int __devinit saa7134_initdev(struct pci_dev *pci_dev, goto fail5; printk(KERN_INFO "%s: registered device mixer%d\n", dev->name,dev->oss.minor_mixer >> 4); + } else if (alsa) { + alsa_card_saa7134_create(dev); + printk(KERN_INFO "%s: registered ALSA devices\n", + dev->name); } break; } @@ -1102,6 +1116,8 @@ static int __devinit saa7134_initdev(struct pci_dev *pci_dev, case PCI_DEVICE_ID_PHILIPS_SAA7135: if (oss) unregister_sound_dsp(dev->oss.minor_dsp); + else if (alsa) + alsa_card_saa7134_exit(); break; } fail4: @@ -1161,7 +1177,8 @@ static void __devexit saa7134_finidev(struct pci_dev *pci_dev) if (oss) { unregister_sound_mixer(dev->oss.minor_mixer); unregister_sound_dsp(dev->oss.minor_dsp); - } + } else if (alsa) + alsa_card_saa7134_exit(); break; } saa7134_unregister_video(dev); |