aboutsummaryrefslogtreecommitdiffstats
path: root/sound/oss
diff options
context:
space:
mode:
Diffstat (limited to 'sound/oss')
-rw-r--r--sound/oss/Kconfig13
-rw-r--r--sound/oss/cs4232.c2
-rw-r--r--sound/oss/forte.c5
-rw-r--r--sound/oss/sb_ess.c28
-rw-r--r--sound/oss/via82cxxx_audio.c7
5 files changed, 35 insertions, 20 deletions
diff --git a/sound/oss/Kconfig b/sound/oss/Kconfig
index 3b8cdbca2636..f4980ca5c05c 100644
--- a/sound/oss/Kconfig
+++ b/sound/oss/Kconfig
@@ -493,6 +493,19 @@ config SOUND_CS4232
493 See <file:Documentation/sound/oss/CS4232> for more information on 493 See <file:Documentation/sound/oss/CS4232> for more information on
494 configuring this card. 494 configuring this card.
495 495
496config SOUND_SSCAPE
497 tristate "Ensoniq SoundScape support"
498 depends on SOUND_OSS
499 help
500 Answer Y if you have a sound card based on the Ensoniq SoundScape
501 chipset. Such cards are being manufactured at least by Ensoniq, Spea
502 and Reveal (Reveal makes also other cards).
503
504 If you compile the driver into the kernel, you have to add
505 "sscape=<io>,<irq>,<dma>,<mpuio>,<mpuirq>" to the kernel command
506 line.
507
508
496config SOUND_VMIDI 509config SOUND_VMIDI
497 tristate "Loopback MIDI device support" 510 tristate "Loopback MIDI device support"
498 depends on SOUND_OSS 511 depends on SOUND_OSS
diff --git a/sound/oss/cs4232.c b/sound/oss/cs4232.c
index c7f86f09c28d..80f6c08e26e7 100644
--- a/sound/oss/cs4232.c
+++ b/sound/oss/cs4232.c
@@ -405,7 +405,7 @@ static const struct pnp_device_id cs4232_pnp_table[] = {
405 405
406MODULE_DEVICE_TABLE(pnp, cs4232_pnp_table); 406MODULE_DEVICE_TABLE(pnp, cs4232_pnp_table);
407 407
408static int cs4232_pnp_probe(struct pnp_dev *dev, const struct pnp_device_id *dev_id) 408static int __init cs4232_pnp_probe(struct pnp_dev *dev, const struct pnp_device_id *dev_id)
409{ 409{
410 struct address_info *isapnpcfg; 410 struct address_info *isapnpcfg;
411 411
diff --git a/sound/oss/forte.c b/sound/oss/forte.c
index 0294eec8ad90..44e578098d76 100644
--- a/sound/oss/forte.c
+++ b/sound/oss/forte.c
@@ -2035,8 +2035,9 @@ forte_probe (struct pci_dev *pci_dev, const struct pci_device_id *pci_id)
2035 2035
2036 pci_set_drvdata (pci_dev, chip); 2036 pci_set_drvdata (pci_dev, chip);
2037 2037
2038 printk (KERN_INFO PFX "FM801 chip found at 0x%04lX-0x%04lX IRQ %u\n", 2038 printk (KERN_INFO PFX "FM801 chip found at 0x%04lX-0x%16llX IRQ %u\n",
2039 chip->iobase, pci_resource_end (pci_dev, 0), chip->irq); 2039 chip->iobase, (unsigned long long)pci_resource_end (pci_dev, 0),
2040 chip->irq);
2040 2041
2041 /* Power it up */ 2042 /* Power it up */
2042 if ((ret = forte_chip_init (chip)) == 0) 2043 if ((ret = forte_chip_init (chip)) == 0)
diff --git a/sound/oss/sb_ess.c b/sound/oss/sb_ess.c
index fae05fe3de43..180e95c87e3e 100644
--- a/sound/oss/sb_ess.c
+++ b/sound/oss/sb_ess.c
@@ -97,19 +97,19 @@
97 * 97 *
98 * The documentation is an adventure: it's close but not fully accurate. I 98 * The documentation is an adventure: it's close but not fully accurate. I
99 * found out that after a reset some registers are *NOT* reset, though the 99 * found out that after a reset some registers are *NOT* reset, though the
100 * docs say the would be. Interresting ones are 0x7f, 0x7d and 0x7a. They are 100 * docs say the would be. Interesting ones are 0x7f, 0x7d and 0x7a. They are
101 * related to the Audio 2 channel. I also was suprised about the consequenses 101 * related to the Audio 2 channel. I also was surprised about the consequences
102 * of writing 0x00 to 0x7f (which should be done by reset): The ES1887 moves 102 * of writing 0x00 to 0x7f (which should be done by reset): The ES1887 moves
103 * into ES1888 mode. This means that it claims IRQ 11, which happens to be my 103 * into ES1888 mode. This means that it claims IRQ 11, which happens to be my
104 * ISDN adapter. Needless to say it no longer worked. I now understand why 104 * ISDN adapter. Needless to say it no longer worked. I now understand why
105 * after rebooting 0x7f already was 0x05, the value of my choice: the BIOS 105 * after rebooting 0x7f already was 0x05, the value of my choice: the BIOS
106 * did it. 106 * did it.
107 * 107 *
108 * Oh, and this is another trap: in ES1887 docs mixer register 0x70 is decribed 108 * Oh, and this is another trap: in ES1887 docs mixer register 0x70 is
109 * as if it's exactly the same as register 0xa1. This is *NOT* true. The 109 * described as if it's exactly the same as register 0xa1. This is *NOT* true.
110 * description of 0x70 in ES1869 docs is accurate however. 110 * The description of 0x70 in ES1869 docs is accurate however.
111 * Well, the assumption about ES1869 was wrong: register 0x70 is very much 111 * Well, the assumption about ES1869 was wrong: register 0x70 is very much
112 * like register 0xa1, except that bit 7 is allways 1, whatever you want 112 * like register 0xa1, except that bit 7 is always 1, whatever you want
113 * it to be. 113 * it to be.
114 * 114 *
115 * When using audio 2 mixer register 0x72 seems te be meaningless. Only 0xa2 115 * When using audio 2 mixer register 0x72 seems te be meaningless. Only 0xa2
@@ -117,10 +117,10 @@
117 * 117 *
118 * Software reset not being able to reset all registers is great! Especially 118 * Software reset not being able to reset all registers is great! Especially
119 * the fact that register 0x78 isn't reset is great when you wanna change back 119 * the fact that register 0x78 isn't reset is great when you wanna change back
120 * to single dma operation (simplex): audio 2 is still operation, and uses the 120 * to single dma operation (simplex): audio 2 is still operational, and uses
121 * same dma as audio 1: your ess changes into a funny echo machine. 121 * the same dma as audio 1: your ess changes into a funny echo machine.
122 * 122 *
123 * Received the new that ES1688 is detected as a ES1788. Did some thinking: 123 * Received the news that ES1688 is detected as a ES1788. Did some thinking:
124 * the ES1887 detection scheme suggests in step 2 to try if bit 3 of register 124 * the ES1887 detection scheme suggests in step 2 to try if bit 3 of register
125 * 0x64 can be changed. This is inaccurate, first I inverted the * check: "If 125 * 0x64 can be changed. This is inaccurate, first I inverted the * check: "If
126 * can be modified, it's a 1688", which lead to a correct detection 126 * can be modified, it's a 1688", which lead to a correct detection
@@ -135,7 +135,7 @@
135 * About recognition of ESS chips 135 * About recognition of ESS chips
136 * 136 *
137 * The distinction of ES688, ES1688, ES1788, ES1887 and ES1888 is described in 137 * The distinction of ES688, ES1688, ES1788, ES1887 and ES1888 is described in
138 * a (preliminary ??) datasheet on ES1887. It's aim is to identify ES1887, but 138 * a (preliminary ??) datasheet on ES1887. Its aim is to identify ES1887, but
139 * during detection the text claims that "this chip may be ..." when a step 139 * during detection the text claims that "this chip may be ..." when a step
140 * fails. This scheme is used to distinct between the above chips. 140 * fails. This scheme is used to distinct between the above chips.
141 * It appears however that some PnP chips like ES1868 are recognized as ES1788 141 * It appears however that some PnP chips like ES1868 are recognized as ES1788
@@ -156,9 +156,9 @@
156 * 156 *
157 * The existing ES1688 support didn't take care of the ES1688+ recording 157 * The existing ES1688 support didn't take care of the ES1688+ recording
158 * levels very well. Whenever a device was selected (recmask) for recording 158 * levels very well. Whenever a device was selected (recmask) for recording
159 * it's recording level was loud, and it couldn't be changed. The fact that 159 * its recording level was loud, and it couldn't be changed. The fact that
160 * internal register 0xb4 could take care of RECLEV, didn't work meaning until 160 * internal register 0xb4 could take care of RECLEV, didn't work meaning until
161 * it's value was restored every time the chip was reset; this reset the 161 * its value was restored every time the chip was reset; this reset the
162 * value of 0xb4 too. I guess that's what 4front also had (have?) trouble with. 162 * value of 0xb4 too. I guess that's what 4front also had (have?) trouble with.
163 * 163 *
164 * About ES1887 support: 164 * About ES1887 support:
@@ -169,9 +169,9 @@
169 * the latter case the recording volumes are 0. 169 * the latter case the recording volumes are 0.
170 * Now recording levels of inputs can be controlled, by changing the playback 170 * Now recording levels of inputs can be controlled, by changing the playback
171 * levels. Futhermore several devices can be recorded together (which is not 171 * levels. Futhermore several devices can be recorded together (which is not
172 * possible with the ES1688. 172 * possible with the ES1688).
173 * Besides the separate recording level control for each input, the common 173 * Besides the separate recording level control for each input, the common
174 * recordig level can also be controlled by RECLEV as described above. 174 * recording level can also be controlled by RECLEV as described above.
175 * 175 *
176 * Not only ES1887 have this recording mixer. I know the following from the 176 * Not only ES1887 have this recording mixer. I know the following from the
177 * documentation: 177 * documentation:
diff --git a/sound/oss/via82cxxx_audio.c b/sound/oss/via82cxxx_audio.c
index 1a921ee71aba..29a6e0cff79f 100644
--- a/sound/oss/via82cxxx_audio.c
+++ b/sound/oss/via82cxxx_audio.c
@@ -24,6 +24,7 @@
24#include <linux/fs.h> 24#include <linux/fs.h>
25#include <linux/mm.h> 25#include <linux/mm.h>
26#include <linux/pci.h> 26#include <linux/pci.h>
27#include <linux/poison.h>
27#include <linux/init.h> 28#include <linux/init.h>
28#include <linux/interrupt.h> 29#include <linux/interrupt.h>
29#include <linux/proc_fs.h> 30#include <linux/proc_fs.h>
@@ -308,7 +309,7 @@ struct via_info {
308 unsigned sixchannel: 1; /* 8233/35 with 6 channel support */ 309 unsigned sixchannel: 1; /* 8233/35 with 6 channel support */
309 unsigned volume: 1; 310 unsigned volume: 1;
310 311
311 int locked_rate : 1; 312 unsigned locked_rate : 1;
312 313
313 int mixer_vol; /* 8233/35 volume - not yet implemented */ 314 int mixer_vol; /* 8233/35 volume - not yet implemented */
314 315
@@ -3522,7 +3523,7 @@ err_out_have_mixer:
3522 3523
3523err_out_kfree: 3524err_out_kfree:
3524#ifndef VIA_NDEBUG 3525#ifndef VIA_NDEBUG
3525 memset (card, 0xAB, sizeof (*card)); /* poison memory */ 3526 memset (card, OSS_POISON_FREE, sizeof (*card)); /* poison memory */
3526#endif 3527#endif
3527 kfree (card); 3528 kfree (card);
3528 3529
@@ -3559,7 +3560,7 @@ static void __devexit via_remove_one (struct pci_dev *pdev)
3559 via_ac97_cleanup (card); 3560 via_ac97_cleanup (card);
3560 3561
3561#ifndef VIA_NDEBUG 3562#ifndef VIA_NDEBUG
3562 memset (card, 0xAB, sizeof (*card)); /* poison memory */ 3563 memset (card, OSS_POISON_FREE, sizeof (*card)); /* poison memory */
3563#endif 3564#endif
3564 kfree (card); 3565 kfree (card);
3565 3566