aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
Diffstat (limited to 'sound')
-rw-r--r--sound/oss/Makefile8
-rw-r--r--sound/oss/audio_syms.c14
-rw-r--r--sound/oss/dev_table.c44
-rw-r--r--sound/oss/dev_table.h17
-rw-r--r--sound/oss/dmabuf.c10
-rw-r--r--sound/oss/midi_syms.c29
-rw-r--r--sound/oss/midi_synth.c21
-rw-r--r--sound/oss/midibuf.c11
-rw-r--r--sound/oss/sequencer.c14
-rw-r--r--sound/oss/sequencer_syms.c22
-rw-r--r--sound/oss/sound_calls.h1
-rw-r--r--sound/oss/sound_syms.c50
-rw-r--r--sound/oss/sound_timer.c4
-rw-r--r--sound/oss/soundcard.c16
14 files changed, 93 insertions, 168 deletions
diff --git a/sound/oss/Makefile b/sound/oss/Makefile
index 8313757b6487..2489bd6bb085 100644
--- a/sound/oss/Makefile
+++ b/sound/oss/Makefile
@@ -63,10 +63,10 @@ obj-$(CONFIG_DMASOUND) += dmasound/
63# Declare multi-part drivers. 63# Declare multi-part drivers.
64 64
65sound-objs := \ 65sound-objs := \
66 dev_table.o soundcard.o sound_syms.o \ 66 dev_table.o soundcard.o \
67 audio.o audio_syms.o dmabuf.o \ 67 audio.o dmabuf.o \
68 midi_syms.o midi_synth.o midibuf.o \ 68 midi_synth.o midibuf.o \
69 sequencer.o sequencer_syms.o sound_timer.o sys_timer.o 69 sequencer.o sound_timer.o sys_timer.o
70 70
71pas2-objs := pas2_card.o pas2_midi.o pas2_mixer.o pas2_pcm.o 71pas2-objs := pas2_card.o pas2_midi.o pas2_mixer.o pas2_pcm.o
72sb-objs := sb_card.o 72sb-objs := sb_card.o
diff --git a/sound/oss/audio_syms.c b/sound/oss/audio_syms.c
deleted file mode 100644
index 3919e4d6b3f3..000000000000
--- a/sound/oss/audio_syms.c
+++ /dev/null
@@ -1,14 +0,0 @@
1/*
2 * Exported symbols for audio driver.
3 */
4
5#include <linux/module.h>
6
7char audio_syms_symbol;
8
9#include "sound_config.h"
10#include "sound_calls.h"
11
12EXPORT_SYMBOL(DMAbuf_start_dma);
13EXPORT_SYMBOL(DMAbuf_inputintr);
14EXPORT_SYMBOL(DMAbuf_outputintr);
diff --git a/sound/oss/dev_table.c b/sound/oss/dev_table.c
index fb64279f3935..08274c995d06 100644
--- a/sound/oss/dev_table.c
+++ b/sound/oss/dev_table.c
@@ -13,9 +13,39 @@
13 13
14#include <linux/init.h> 14#include <linux/init.h>
15 15
16#define _DEV_TABLE_C_
17#include "sound_config.h" 16#include "sound_config.h"
18 17
18struct audio_operations *audio_devs[MAX_AUDIO_DEV];
19EXPORT_SYMBOL(audio_devs);
20
21int num_audiodevs;
22EXPORT_SYMBOL(num_audiodevs);
23
24struct mixer_operations *mixer_devs[MAX_MIXER_DEV];
25EXPORT_SYMBOL(mixer_devs);
26
27int num_mixers;
28EXPORT_SYMBOL(num_mixers);
29
30struct synth_operations *synth_devs[MAX_SYNTH_DEV+MAX_MIDI_DEV];
31EXPORT_SYMBOL(synth_devs);
32
33int num_synths;
34
35struct midi_operations *midi_devs[MAX_MIDI_DEV];
36EXPORT_SYMBOL(midi_devs);
37
38int num_midis;
39EXPORT_SYMBOL(num_midis);
40
41struct sound_timer_operations *sound_timer_devs[MAX_TIMER_DEV] = {
42 &default_sound_timer, NULL
43};
44EXPORT_SYMBOL(sound_timer_devs);
45
46int num_sound_timers = 1;
47
48
19static int sound_alloc_audiodev(void); 49static int sound_alloc_audiodev(void);
20 50
21int sound_install_audiodrv(int vers, char *name, struct audio_driver *driver, 51int sound_install_audiodrv(int vers, char *name, struct audio_driver *driver,
@@ -75,6 +105,7 @@ int sound_install_audiodrv(int vers, char *name, struct audio_driver *driver,
75 audio_init_devices(); 105 audio_init_devices();
76 return num; 106 return num;
77} 107}
108EXPORT_SYMBOL(sound_install_audiodrv);
78 109
79int sound_install_mixer(int vers, char *name, struct mixer_operations *driver, 110int sound_install_mixer(int vers, char *name, struct mixer_operations *driver,
80 int driver_size, void *devc) 111 int driver_size, void *devc)
@@ -113,6 +144,7 @@ int sound_install_mixer(int vers, char *name, struct mixer_operations *driver,
113 mixer_devs[n] = op; 144 mixer_devs[n] = op;
114 return n; 145 return n;
115} 146}
147EXPORT_SYMBOL(sound_install_mixer);
116 148
117void sound_unload_audiodev(int dev) 149void sound_unload_audiodev(int dev)
118{ 150{
@@ -122,6 +154,7 @@ void sound_unload_audiodev(int dev)
122 unregister_sound_dsp((dev<<4)+3); 154 unregister_sound_dsp((dev<<4)+3);
123 } 155 }
124} 156}
157EXPORT_SYMBOL(sound_unload_audiodev);
125 158
126static int sound_alloc_audiodev(void) 159static int sound_alloc_audiodev(void)
127{ 160{
@@ -144,6 +177,7 @@ int sound_alloc_mididev(void)
144 num_midis = i + 1; 177 num_midis = i + 1;
145 return i; 178 return i;
146} 179}
180EXPORT_SYMBOL(sound_alloc_mididev);
147 181
148int sound_alloc_synthdev(void) 182int sound_alloc_synthdev(void)
149{ 183{
@@ -158,6 +192,7 @@ int sound_alloc_synthdev(void)
158 } 192 }
159 return -1; 193 return -1;
160} 194}
195EXPORT_SYMBOL(sound_alloc_synthdev);
161 196
162int sound_alloc_mixerdev(void) 197int sound_alloc_mixerdev(void)
163{ 198{
@@ -169,6 +204,7 @@ int sound_alloc_mixerdev(void)
169 num_mixers = i + 1; 204 num_mixers = i + 1;
170 return i; 205 return i;
171} 206}
207EXPORT_SYMBOL(sound_alloc_mixerdev);
172 208
173int sound_alloc_timerdev(void) 209int sound_alloc_timerdev(void)
174{ 210{
@@ -183,6 +219,7 @@ int sound_alloc_timerdev(void)
183 } 219 }
184 return -1; 220 return -1;
185} 221}
222EXPORT_SYMBOL(sound_alloc_timerdev);
186 223
187void sound_unload_mixerdev(int dev) 224void sound_unload_mixerdev(int dev)
188{ 225{
@@ -192,6 +229,7 @@ void sound_unload_mixerdev(int dev)
192 num_mixers--; 229 num_mixers--;
193 } 230 }
194} 231}
232EXPORT_SYMBOL(sound_unload_mixerdev);
195 233
196void sound_unload_mididev(int dev) 234void sound_unload_mididev(int dev)
197{ 235{
@@ -200,15 +238,19 @@ void sound_unload_mididev(int dev)
200 unregister_sound_midi((dev<<4)+2); 238 unregister_sound_midi((dev<<4)+2);
201 } 239 }
202} 240}
241EXPORT_SYMBOL(sound_unload_mididev);
203 242
204void sound_unload_synthdev(int dev) 243void sound_unload_synthdev(int dev)
205{ 244{
206 if (dev != -1) 245 if (dev != -1)
207 synth_devs[dev] = NULL; 246 synth_devs[dev] = NULL;
208} 247}
248EXPORT_SYMBOL(sound_unload_synthdev);
209 249
210void sound_unload_timerdev(int dev) 250void sound_unload_timerdev(int dev)
211{ 251{
212 if (dev != -1) 252 if (dev != -1)
213 sound_timer_devs[dev] = NULL; 253 sound_timer_devs[dev] = NULL;
214} 254}
255EXPORT_SYMBOL(sound_unload_timerdev);
256
diff --git a/sound/oss/dev_table.h b/sound/oss/dev_table.h
index adf1d625b576..b7617bee6388 100644
--- a/sound/oss/dev_table.h
+++ b/sound/oss/dev_table.h
@@ -352,22 +352,8 @@ struct sound_timer_operations
352 void (*arm_timer)(int dev, long time); 352 void (*arm_timer)(int dev, long time);
353}; 353};
354 354
355#ifdef _DEV_TABLE_C_
356struct audio_operations *audio_devs[MAX_AUDIO_DEV];
357int num_audiodevs;
358struct mixer_operations *mixer_devs[MAX_MIXER_DEV];
359int num_mixers;
360struct synth_operations *synth_devs[MAX_SYNTH_DEV+MAX_MIDI_DEV];
361int num_synths;
362struct midi_operations *midi_devs[MAX_MIDI_DEV];
363int num_midis;
364
365extern struct sound_timer_operations default_sound_timer; 355extern struct sound_timer_operations default_sound_timer;
366struct sound_timer_operations *sound_timer_devs[MAX_TIMER_DEV] = { 356
367 &default_sound_timer, NULL
368};
369int num_sound_timers = 1;
370#else
371extern struct audio_operations *audio_devs[MAX_AUDIO_DEV]; 357extern struct audio_operations *audio_devs[MAX_AUDIO_DEV];
372extern int num_audiodevs; 358extern int num_audiodevs;
373extern struct mixer_operations *mixer_devs[MAX_MIXER_DEV]; 359extern struct mixer_operations *mixer_devs[MAX_MIXER_DEV];
@@ -378,7 +364,6 @@ extern struct midi_operations *midi_devs[MAX_MIDI_DEV];
378extern int num_midis; 364extern int num_midis;
379extern struct sound_timer_operations * sound_timer_devs[MAX_TIMER_DEV]; 365extern struct sound_timer_operations * sound_timer_devs[MAX_TIMER_DEV];
380extern int num_sound_timers; 366extern int num_sound_timers;
381#endif /* _DEV_TABLE_C_ */
382 367
383extern int sound_map_buffer (int dev, struct dma_buffparms *dmap, buffmem_desc *info); 368extern int sound_map_buffer (int dev, struct dma_buffparms *dmap, buffmem_desc *info);
384void sound_timer_init (struct sound_lowlev_timer *t, char *name); 369void sound_timer_init (struct sound_lowlev_timer *t, char *name);
diff --git a/sound/oss/dmabuf.c b/sound/oss/dmabuf.c
index 6ff67f73cbb9..b256c0401161 100644
--- a/sound/oss/dmabuf.c
+++ b/sound/oss/dmabuf.c
@@ -926,6 +926,7 @@ int DMAbuf_start_dma(int dev, unsigned long physaddr, int count, int dma_mode)
926 sound_start_dma(dmap, physaddr, count, dma_mode); 926 sound_start_dma(dmap, physaddr, count, dma_mode);
927 return count; 927 return count;
928} 928}
929EXPORT_SYMBOL(DMAbuf_start_dma);
929 930
930static int local_start_dma(struct audio_operations *adev, unsigned long physaddr, int count, int dma_mode) 931static int local_start_dma(struct audio_operations *adev, unsigned long physaddr, int count, int dma_mode)
931{ 932{
@@ -1055,6 +1056,8 @@ void DMAbuf_outputintr(int dev, int notify_only)
1055 do_outputintr(dev, notify_only); 1056 do_outputintr(dev, notify_only);
1056 spin_unlock_irqrestore(&dmap->lock,flags); 1057 spin_unlock_irqrestore(&dmap->lock,flags);
1057} 1058}
1059EXPORT_SYMBOL(DMAbuf_outputintr);
1060
1058/* called with dmap->lock held in irq context */ 1061/* called with dmap->lock held in irq context */
1059static void do_inputintr(int dev) 1062static void do_inputintr(int dev)
1060{ 1063{
@@ -1154,6 +1157,7 @@ void DMAbuf_inputintr(int dev)
1154 do_inputintr(dev); 1157 do_inputintr(dev);
1155 spin_unlock_irqrestore(&dmap->lock,flags); 1158 spin_unlock_irqrestore(&dmap->lock,flags);
1156} 1159}
1160EXPORT_SYMBOL(DMAbuf_inputintr);
1157 1161
1158void DMAbuf_init(int dev, int dma1, int dma2) 1162void DMAbuf_init(int dev, int dma1, int dma2)
1159{ 1163{
@@ -1162,12 +1166,6 @@ void DMAbuf_init(int dev, int dma1, int dma2)
1162 * NOTE! This routine could be called several times. 1166 * NOTE! This routine could be called several times.
1163 */ 1167 */
1164 1168
1165 /* drag in audio_syms.o */
1166 {
1167 extern char audio_syms_symbol;
1168 audio_syms_symbol = 0;
1169 }
1170
1171 if (adev && adev->dmap_out == NULL) { 1169 if (adev && adev->dmap_out == NULL) {
1172 if (adev->d == NULL) 1170 if (adev->d == NULL)
1173 panic("OSS: audio_devs[%d]->d == NULL\n", dev); 1171 panic("OSS: audio_devs[%d]->d == NULL\n", dev);
diff --git a/sound/oss/midi_syms.c b/sound/oss/midi_syms.c
deleted file mode 100644
index 5b146ddf5725..000000000000
--- a/sound/oss/midi_syms.c
+++ /dev/null
@@ -1,29 +0,0 @@
1/*
2 * Exported symbols for midi driver.
3 */
4
5#include <linux/module.h>
6
7char midi_syms_symbol;
8
9#include "sound_config.h"
10#define _MIDI_SYNTH_C_
11#include "midi_synth.h"
12
13EXPORT_SYMBOL(do_midi_msg);
14EXPORT_SYMBOL(midi_synth_open);
15EXPORT_SYMBOL(midi_synth_close);
16EXPORT_SYMBOL(midi_synth_ioctl);
17EXPORT_SYMBOL(midi_synth_kill_note);
18EXPORT_SYMBOL(midi_synth_start_note);
19EXPORT_SYMBOL(midi_synth_set_instr);
20EXPORT_SYMBOL(midi_synth_reset);
21EXPORT_SYMBOL(midi_synth_hw_control);
22EXPORT_SYMBOL(midi_synth_aftertouch);
23EXPORT_SYMBOL(midi_synth_controller);
24EXPORT_SYMBOL(midi_synth_panning);
25EXPORT_SYMBOL(midi_synth_setup_voice);
26EXPORT_SYMBOL(midi_synth_send_sysex);
27EXPORT_SYMBOL(midi_synth_bender);
28EXPORT_SYMBOL(midi_synth_load_patch);
29EXPORT_SYMBOL(MIDIbuf_avail);
diff --git a/sound/oss/midi_synth.c b/sound/oss/midi_synth.c
index d2ab5c08b616..9e450988ed36 100644
--- a/sound/oss/midi_synth.c
+++ b/sound/oss/midi_synth.c
@@ -84,6 +84,7 @@ do_midi_msg(int synthno, unsigned char *msg, int mlen)
84 ; 84 ;
85 } 85 }
86} 86}
87EXPORT_SYMBOL(do_midi_msg);
87 88
88static void 89static void
89midi_outc(int midi_dev, int data) 90midi_outc(int midi_dev, int data)
@@ -276,6 +277,7 @@ int midi_synth_ioctl(int dev, unsigned int cmd, void __user *arg)
276 return -EINVAL; 277 return -EINVAL;
277 } 278 }
278} 279}
280EXPORT_SYMBOL(midi_synth_ioctl);
279 281
280int 282int
281midi_synth_kill_note(int dev, int channel, int note, int velocity) 283midi_synth_kill_note(int dev, int channel, int note, int velocity)
@@ -342,6 +344,7 @@ midi_synth_kill_note(int dev, int channel, int note, int velocity)
342 344
343 return 0; 345 return 0;
344} 346}
347EXPORT_SYMBOL(midi_synth_kill_note);
345 348
346int 349int
347midi_synth_set_instr(int dev, int channel, int instr_no) 350midi_synth_set_instr(int dev, int channel, int instr_no)
@@ -364,6 +367,7 @@ midi_synth_set_instr(int dev, int channel, int instr_no)
364 367
365 return 0; 368 return 0;
366} 369}
370EXPORT_SYMBOL(midi_synth_set_instr);
367 371
368int 372int
369midi_synth_start_note(int dev, int channel, int note, int velocity) 373midi_synth_start_note(int dev, int channel, int note, int velocity)
@@ -405,6 +409,7 @@ midi_synth_start_note(int dev, int channel, int note, int velocity)
405 } 409 }
406 return 0; 410 return 0;
407} 411}
412EXPORT_SYMBOL(midi_synth_start_note);
408 413
409void 414void
410midi_synth_reset(int dev) 415midi_synth_reset(int dev)
@@ -412,6 +417,7 @@ midi_synth_reset(int dev)
412 417
413 leave_sysex(dev); 418 leave_sysex(dev);
414} 419}
420EXPORT_SYMBOL(midi_synth_reset);
415 421
416int 422int
417midi_synth_open(int dev, int mode) 423midi_synth_open(int dev, int mode)
@@ -444,6 +450,7 @@ midi_synth_open(int dev, int mode)
444 450
445 return 1; 451 return 1;
446} 452}
453EXPORT_SYMBOL(midi_synth_open);
447 454
448void 455void
449midi_synth_close(int dev) 456midi_synth_close(int dev)
@@ -459,11 +466,13 @@ midi_synth_close(int dev)
459 466
460 midi_devs[orig_dev]->close(orig_dev); 467 midi_devs[orig_dev]->close(orig_dev);
461} 468}
469EXPORT_SYMBOL(midi_synth_close);
462 470
463void 471void
464midi_synth_hw_control(int dev, unsigned char *event) 472midi_synth_hw_control(int dev, unsigned char *event)
465{ 473{
466} 474}
475EXPORT_SYMBOL(midi_synth_hw_control);
467 476
468int 477int
469midi_synth_load_patch(int dev, int format, const char __user *addr, 478midi_synth_load_patch(int dev, int format, const char __user *addr,
@@ -542,11 +551,13 @@ midi_synth_load_patch(int dev, int format, const char __user *addr,
542 midi_outc(orig_dev, 0xf7); 551 midi_outc(orig_dev, 0xf7);
543 return 0; 552 return 0;
544} 553}
545 554EXPORT_SYMBOL(midi_synth_load_patch);
555
546void midi_synth_panning(int dev, int channel, int pressure) 556void midi_synth_panning(int dev, int channel, int pressure)
547{ 557{
548} 558}
549 559EXPORT_SYMBOL(midi_synth_panning);
560
550void midi_synth_aftertouch(int dev, int channel, int pressure) 561void midi_synth_aftertouch(int dev, int channel, int pressure)
551{ 562{
552 int orig_dev = synth_devs[dev]->midi_dev; 563 int orig_dev = synth_devs[dev]->midi_dev;
@@ -576,6 +587,7 @@ void midi_synth_aftertouch(int dev, int channel, int pressure)
576 587
577 midi_outc(orig_dev, pressure); 588 midi_outc(orig_dev, pressure);
578} 589}
590EXPORT_SYMBOL(midi_synth_aftertouch);
579 591
580void 592void
581midi_synth_controller(int dev, int channel, int ctrl_num, int value) 593midi_synth_controller(int dev, int channel, int ctrl_num, int value)
@@ -604,6 +616,7 @@ midi_synth_controller(int dev, int channel, int ctrl_num, int value)
604 midi_outc(orig_dev, ctrl_num); 616 midi_outc(orig_dev, ctrl_num);
605 midi_outc(orig_dev, value & 0x7f); 617 midi_outc(orig_dev, value & 0x7f);
606} 618}
619EXPORT_SYMBOL(midi_synth_controller);
607 620
608void 621void
609midi_synth_bender(int dev, int channel, int value) 622midi_synth_bender(int dev, int channel, int value)
@@ -635,11 +648,13 @@ midi_synth_bender(int dev, int channel, int value)
635 midi_outc(orig_dev, value & 0x7f); 648 midi_outc(orig_dev, value & 0x7f);
636 midi_outc(orig_dev, (value >> 7) & 0x7f); 649 midi_outc(orig_dev, (value >> 7) & 0x7f);
637} 650}
651EXPORT_SYMBOL(midi_synth_bender);
638 652
639void 653void
640midi_synth_setup_voice(int dev, int voice, int channel) 654midi_synth_setup_voice(int dev, int voice, int channel)
641{ 655{
642} 656}
657EXPORT_SYMBOL(midi_synth_setup_voice);
643 658
644int 659int
645midi_synth_send_sysex(int dev, unsigned char *bytes, int len) 660midi_synth_send_sysex(int dev, unsigned char *bytes, int len)
@@ -695,3 +710,5 @@ midi_synth_send_sysex(int dev, unsigned char *bytes, int len)
695 710
696 return 0; 711 return 0;
697} 712}
713EXPORT_SYMBOL(midi_synth_send_sysex);
714
diff --git a/sound/oss/midibuf.c b/sound/oss/midibuf.c
index c0e4bbc22c80..a40be0cf1d97 100644
--- a/sound/oss/midibuf.c
+++ b/sound/oss/midibuf.c
@@ -414,18 +414,11 @@ unsigned int MIDIbuf_poll(int dev, struct file *file, poll_table * wait)
414} 414}
415 415
416 416
417void MIDIbuf_init(void)
418{
419 /* drag in midi_syms.o */
420 {
421 extern char midi_syms_symbol;
422 midi_syms_symbol = 0;
423 }
424}
425
426int MIDIbuf_avail(int dev) 417int MIDIbuf_avail(int dev)
427{ 418{
428 if (midi_in_buf[dev]) 419 if (midi_in_buf[dev])
429 return DATA_AVAIL (midi_in_buf[dev]); 420 return DATA_AVAIL (midi_in_buf[dev]);
430 return 0; 421 return 0;
431} 422}
423EXPORT_SYMBOL(MIDIbuf_avail);
424
diff --git a/sound/oss/sequencer.c b/sound/oss/sequencer.c
index 23922377250d..5c215f787ca9 100644
--- a/sound/oss/sequencer.c
+++ b/sound/oss/sequencer.c
@@ -156,6 +156,7 @@ void seq_copy_to_input(unsigned char *event_rec, int len)
156 wake_up(&midi_sleeper); 156 wake_up(&midi_sleeper);
157 spin_unlock_irqrestore(&lock,flags); 157 spin_unlock_irqrestore(&lock,flags);
158} 158}
159EXPORT_SYMBOL(seq_copy_to_input);
159 160
160static void sequencer_midi_input(int dev, unsigned char data) 161static void sequencer_midi_input(int dev, unsigned char data)
161{ 162{
@@ -205,6 +206,7 @@ void seq_input_event(unsigned char *event_rec, int len)
205 } 206 }
206 seq_copy_to_input(event_rec, len); 207 seq_copy_to_input(event_rec, len);
207} 208}
209EXPORT_SYMBOL(seq_input_event);
208 210
209int sequencer_write(int dev, struct file *file, const char __user *buf, int count) 211int sequencer_write(int dev, struct file *file, const char __user *buf, int count)
210{ 212{
@@ -1553,6 +1555,7 @@ void sequencer_timer(unsigned long dummy)
1553{ 1555{
1554 seq_startplay(); 1556 seq_startplay();
1555} 1557}
1558EXPORT_SYMBOL(sequencer_timer);
1556 1559
1557int note_to_freq(int note_num) 1560int note_to_freq(int note_num)
1558{ 1561{
@@ -1586,6 +1589,7 @@ int note_to_freq(int note_num)
1586 1589
1587 return note_freq; 1590 return note_freq;
1588} 1591}
1592EXPORT_SYMBOL(note_to_freq);
1589 1593
1590unsigned long compute_finetune(unsigned long base_freq, int bend, int range, 1594unsigned long compute_finetune(unsigned long base_freq, int bend, int range,
1591 int vibrato_cents) 1595 int vibrato_cents)
@@ -1639,19 +1643,12 @@ unsigned long compute_finetune(unsigned long base_freq, int bend, int range,
1639 else 1643 else
1640 return (base_freq * amount) / 10000; /* Bend up */ 1644 return (base_freq * amount) / 10000; /* Bend up */
1641} 1645}
1642 1646EXPORT_SYMBOL(compute_finetune);
1643 1647
1644void sequencer_init(void) 1648void sequencer_init(void)
1645{ 1649{
1646 /* drag in sequencer_syms.o */
1647 {
1648 extern char sequencer_syms_symbol;
1649 sequencer_syms_symbol = 0;
1650 }
1651
1652 if (sequencer_ok) 1650 if (sequencer_ok)
1653 return; 1651 return;
1654 MIDIbuf_init();
1655 queue = (unsigned char *)vmalloc(SEQ_MAX_QUEUE * EV_SZ); 1652 queue = (unsigned char *)vmalloc(SEQ_MAX_QUEUE * EV_SZ);
1656 if (queue == NULL) 1653 if (queue == NULL)
1657 { 1654 {
@@ -1667,6 +1664,7 @@ void sequencer_init(void)
1667 } 1664 }
1668 sequencer_ok = 1; 1665 sequencer_ok = 1;
1669} 1666}
1667EXPORT_SYMBOL(sequencer_init);
1670 1668
1671void sequencer_unload(void) 1669void sequencer_unload(void)
1672{ 1670{
diff --git a/sound/oss/sequencer_syms.c b/sound/oss/sequencer_syms.c
deleted file mode 100644
index 118525638bd3..000000000000
--- a/sound/oss/sequencer_syms.c
+++ /dev/null
@@ -1,22 +0,0 @@
1/*
2 * Exported symbols for sequencer driver.
3 */
4
5#include <linux/module.h>
6
7char sequencer_syms_symbol;
8
9#include "sound_config.h"
10#include "sound_calls.h"
11
12EXPORT_SYMBOL(note_to_freq);
13EXPORT_SYMBOL(compute_finetune);
14EXPORT_SYMBOL(seq_copy_to_input);
15EXPORT_SYMBOL(seq_input_event);
16EXPORT_SYMBOL(sequencer_init);
17EXPORT_SYMBOL(sequencer_timer);
18
19EXPORT_SYMBOL(sound_timer_init);
20EXPORT_SYMBOL(sound_timer_interrupt);
21EXPORT_SYMBOL(sound_timer_syncinterval);
22
diff --git a/sound/oss/sound_calls.h b/sound/oss/sound_calls.h
index cd335ba81450..87d8ad4a0340 100644
--- a/sound/oss/sound_calls.h
+++ b/sound/oss/sound_calls.h
@@ -71,7 +71,6 @@ unsigned int MIDIbuf_poll(int dev, struct file *file, poll_table * wait);
71int MIDIbuf_avail(int dev); 71int MIDIbuf_avail(int dev);
72 72
73void MIDIbuf_bytes_received(int dev, unsigned char *buf, int count); 73void MIDIbuf_bytes_received(int dev, unsigned char *buf, int count);
74void MIDIbuf_init(void);
75 74
76 75
77/* From soundcard.c */ 76/* From soundcard.c */
diff --git a/sound/oss/sound_syms.c b/sound/oss/sound_syms.c
deleted file mode 100644
index cb7c33fe5b05..000000000000
--- a/sound/oss/sound_syms.c
+++ /dev/null
@@ -1,50 +0,0 @@
1/*
2 * The sound core exports the following symbols to the rest of
3 * modulespace.
4 *
5 * (C) Copyright 1997 Alan Cox, Licensed under the GNU GPL
6 *
7 * Thu May 27 1999 Andrew J. Kroll <ag784@freenet..buffalo..edu>
8 * left out exported symbol... fixed
9 */
10
11#include <linux/module.h>
12#include "sound_config.h"
13#include "sound_calls.h"
14
15char sound_syms_symbol;
16
17EXPORT_SYMBOL(mixer_devs);
18EXPORT_SYMBOL(audio_devs);
19EXPORT_SYMBOL(num_mixers);
20EXPORT_SYMBOL(num_audiodevs);
21
22EXPORT_SYMBOL(midi_devs);
23EXPORT_SYMBOL(num_midis);
24EXPORT_SYMBOL(synth_devs);
25
26EXPORT_SYMBOL(sound_timer_devs);
27
28EXPORT_SYMBOL(sound_install_audiodrv);
29EXPORT_SYMBOL(sound_install_mixer);
30EXPORT_SYMBOL(sound_alloc_dma);
31EXPORT_SYMBOL(sound_free_dma);
32EXPORT_SYMBOL(sound_open_dma);
33EXPORT_SYMBOL(sound_close_dma);
34EXPORT_SYMBOL(sound_alloc_mididev);
35EXPORT_SYMBOL(sound_alloc_mixerdev);
36EXPORT_SYMBOL(sound_alloc_timerdev);
37EXPORT_SYMBOL(sound_alloc_synthdev);
38EXPORT_SYMBOL(sound_unload_audiodev);
39EXPORT_SYMBOL(sound_unload_mididev);
40EXPORT_SYMBOL(sound_unload_mixerdev);
41EXPORT_SYMBOL(sound_unload_timerdev);
42EXPORT_SYMBOL(sound_unload_synthdev);
43
44EXPORT_SYMBOL(load_mixer_volumes);
45
46EXPORT_SYMBOL(conf_printf);
47EXPORT_SYMBOL(conf_printf2);
48
49MODULE_DESCRIPTION("OSS Sound subsystem");
50MODULE_AUTHOR("Hannu Savolainen, et al.");
diff --git a/sound/oss/sound_timer.c b/sound/oss/sound_timer.c
index 146bf85de958..f0f0c19fbff7 100644
--- a/sound/oss/sound_timer.c
+++ b/sound/oss/sound_timer.c
@@ -76,6 +76,7 @@ void sound_timer_syncinterval(unsigned int new_usecs)
76 tmr_ctr = 0; 76 tmr_ctr = 0;
77 usecs_per_tmr = new_usecs; 77 usecs_per_tmr = new_usecs;
78} 78}
79EXPORT_SYMBOL(sound_timer_syncinterval);
79 80
80static void tmr_reset(void) 81static void tmr_reset(void)
81{ 82{
@@ -300,6 +301,7 @@ void sound_timer_interrupt(void)
300 } 301 }
301 spin_unlock_irqrestore(&lock,flags); 302 spin_unlock_irqrestore(&lock,flags);
302} 303}
304EXPORT_SYMBOL(sound_timer_interrupt);
303 305
304void sound_timer_init(struct sound_lowlev_timer *t, char *name) 306void sound_timer_init(struct sound_lowlev_timer *t, char *name)
305{ 307{
@@ -321,3 +323,5 @@ void sound_timer_init(struct sound_lowlev_timer *t, char *name)
321 strcpy(sound_timer.info.name, name); 323 strcpy(sound_timer.info.name, name);
322 sound_timer_devs[n] = &sound_timer; 324 sound_timer_devs[n] = &sound_timer;
323} 325}
326EXPORT_SYMBOL(sound_timer_init);
327
diff --git a/sound/oss/soundcard.c b/sound/oss/soundcard.c
index 683dc00a8d2b..2344d09c7114 100644
--- a/sound/oss/soundcard.c
+++ b/sound/oss/soundcard.c
@@ -107,6 +107,7 @@ int *load_mixer_volumes(char *name, int *levels, int present)
107 mixer_vols[n].levels[i] = levels[i]; 107 mixer_vols[n].levels[i] = levels[i];
108 return mixer_vols[n].levels; 108 return mixer_vols[n].levels;
109} 109}
110EXPORT_SYMBOL(load_mixer_volumes);
110 111
111static int set_mixer_levels(void __user * arg) 112static int set_mixer_levels(void __user * arg)
112{ 113{
@@ -541,12 +542,6 @@ static int __init oss_init(void)
541 int err; 542 int err;
542 int i, j; 543 int i, j;
543 544
544 /* drag in sound_syms.o */
545 {
546 extern char sound_syms_symbol;
547 sound_syms_symbol = 0;
548 }
549
550#ifdef CONFIG_PCI 545#ifdef CONFIG_PCI
551 if(dmabug) 546 if(dmabug)
552 isa_dma_bridge_buggy = dmabug; 547 isa_dma_bridge_buggy = dmabug;
@@ -614,6 +609,8 @@ static void __exit oss_cleanup(void)
614module_init(oss_init); 609module_init(oss_init);
615module_exit(oss_cleanup); 610module_exit(oss_cleanup);
616MODULE_LICENSE("GPL"); 611MODULE_LICENSE("GPL");
612MODULE_DESCRIPTION("OSS Sound subsystem");
613MODULE_AUTHOR("Hannu Savolainen, et al.");
617 614
618 615
619int sound_alloc_dma(int chn, char *deviceID) 616int sound_alloc_dma(int chn, char *deviceID)
@@ -627,6 +624,7 @@ int sound_alloc_dma(int chn, char *deviceID)
627 624
628 return 0; 625 return 0;
629} 626}
627EXPORT_SYMBOL(sound_alloc_dma);
630 628
631int sound_open_dma(int chn, char *deviceID) 629int sound_open_dma(int chn, char *deviceID)
632{ 630{
@@ -642,6 +640,7 @@ int sound_open_dma(int chn, char *deviceID)
642 dma_alloc_map[chn] = DMA_MAP_BUSY; 640 dma_alloc_map[chn] = DMA_MAP_BUSY;
643 return 0; 641 return 0;
644} 642}
643EXPORT_SYMBOL(sound_open_dma);
645 644
646void sound_free_dma(int chn) 645void sound_free_dma(int chn)
647{ 646{
@@ -652,6 +651,7 @@ void sound_free_dma(int chn)
652 free_dma(chn); 651 free_dma(chn);
653 dma_alloc_map[chn] = DMA_MAP_UNAVAIL; 652 dma_alloc_map[chn] = DMA_MAP_UNAVAIL;
654} 653}
654EXPORT_SYMBOL(sound_free_dma);
655 655
656void sound_close_dma(int chn) 656void sound_close_dma(int chn)
657{ 657{
@@ -661,6 +661,7 @@ void sound_close_dma(int chn)
661 } 661 }
662 dma_alloc_map[chn] = DMA_MAP_FREE; 662 dma_alloc_map[chn] = DMA_MAP_FREE;
663} 663}
664EXPORT_SYMBOL(sound_close_dma);
664 665
665static void do_sequencer_timer(unsigned long dummy) 666static void do_sequencer_timer(unsigned long dummy)
666{ 667{
@@ -714,6 +715,7 @@ void conf_printf(char *name, struct address_info *hw_config)
714 printk("\n"); 715 printk("\n");
715#endif 716#endif
716} 717}
718EXPORT_SYMBOL(conf_printf);
717 719
718void conf_printf2(char *name, int base, int irq, int dma, int dma2) 720void conf_printf2(char *name, int base, int irq, int dma, int dma2)
719{ 721{
@@ -734,3 +736,5 @@ void conf_printf2(char *name, int base, int irq, int dma, int dma2)
734 printk("\n"); 736 printk("\n");
735#endif 737#endif
736} 738}
739EXPORT_SYMBOL(conf_printf2);
740