patch-1.3.34 linux/drivers/sound/sound_calls.h

Next file: linux/drivers/sound/sound_config.h
Previous file: linux/drivers/sound/sequencer.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v1.3.33/linux/drivers/sound/sound_calls.h linux/drivers/sound/sound_calls.h
@@ -8,7 +8,7 @@
 int DMAbuf_getrdbuffer(int dev, char **buf, int *len, int dontblock);
 int DMAbuf_rmchars(int dev, int buff_no, int c);
 int DMAbuf_start_output(int dev, int buff_no, int l);
-int DMAbuf_ioctl(int dev, unsigned int cmd, unsigned int arg, int local);
+int DMAbuf_ioctl(int dev, unsigned int cmd, ioctl_arg arg, int local);
 long DMAbuf_init(long mem_start);
 int DMAbuf_start_dma (int dev, unsigned long physaddr, int count, int dma_mode);
 int DMAbuf_open_dma (int dev);
@@ -16,37 +16,34 @@
 void DMAbuf_reset_dma (int dev);
 void DMAbuf_inputintr(int dev);
 void DMAbuf_outputintr(int dev, int underflow_flag);
-#ifdef ALLOW_SELECT
 int DMAbuf_select(int dev, struct fileinfo *file, int sel_type, select_table * wait);
-#endif
+void DMAbuf_start_devices(unsigned int devmask);
 
 /*
  *	System calls for /dev/dsp and /dev/audio
  */
 
 int audio_read (int dev, struct fileinfo *file, snd_rw_buf *buf, int count);
-int audio_write (int dev, struct fileinfo *file, snd_rw_buf *buf, int count);
+int audio_write (int dev, struct fileinfo *file, const snd_rw_buf *buf, int count);
 int audio_open (int dev, struct fileinfo *file);
 void audio_release (int dev, struct fileinfo *file);
 int audio_ioctl (int dev, struct fileinfo *file,
-	   unsigned int cmd, unsigned int arg);
+	   unsigned int cmd, ioctl_arg arg);
 int audio_lseek (int dev, struct fileinfo *file, off_t offset, int orig);
 long audio_init (long mem_start);
 
-#ifdef ALLOW_SELECT
 int audio_select(int dev, struct fileinfo *file, int sel_type, select_table * wait);
-#endif
 
 /*
  *	System calls for the /dev/sequencer
  */
 
 int sequencer_read (int dev, struct fileinfo *file, snd_rw_buf *buf, int count);
-int sequencer_write (int dev, struct fileinfo *file, snd_rw_buf *buf, int count);
+int sequencer_write (int dev, struct fileinfo *file, const snd_rw_buf *buf, int count);
 int sequencer_open (int dev, struct fileinfo *file);
 void sequencer_release (int dev, struct fileinfo *file);
 int sequencer_ioctl (int dev, struct fileinfo *file,
-	   unsigned int cmd, unsigned int arg);
+	   unsigned int cmd, ioctl_arg arg);
 int sequencer_lseek (int dev, struct fileinfo *file, off_t offset, int orig);
 long sequencer_init (long mem_start);
 void sequencer_timer(void);
@@ -55,38 +52,23 @@
 void seq_input_event(unsigned char *event, int len);
 void seq_copy_to_input (unsigned char *event, int len);
 
-#ifdef ALLOW_SELECT
 int sequencer_select(int dev, struct fileinfo *file, int sel_type, select_table * wait);
-#endif
 
 /*
  *	System calls for the /dev/midi
  */
 
 int MIDIbuf_read (int dev, struct fileinfo *file, snd_rw_buf *buf, int count);
-int MIDIbuf_write (int dev, struct fileinfo *file, snd_rw_buf *buf, int count);
+int MIDIbuf_write (int dev, struct fileinfo *file, const snd_rw_buf *buf, int count);
 int MIDIbuf_open (int dev, struct fileinfo *file);
 void MIDIbuf_release (int dev, struct fileinfo *file);
 int MIDIbuf_ioctl (int dev, struct fileinfo *file,
-	   unsigned int cmd, unsigned int arg);
+	   unsigned int cmd, ioctl_arg arg);
 int MIDIbuf_lseek (int dev, struct fileinfo *file, off_t offset, int orig);
 void MIDIbuf_bytes_received(int dev, unsigned char *buf, int count);
 long MIDIbuf_init(long mem_start);
 
-#ifdef ALLOW_SELECT
 int MIDIbuf_select(int dev, struct fileinfo *file, int sel_type, select_table * wait);
-#endif
-
-/*
- *	System calls for the generic midi interface.
- *
- */
-
-long  CMIDI_init  (long mem_start);
-int   CMIDI_open  (int dev, struct fileinfo *file);
-int   CMIDI_write (int dev, struct fileinfo *file, snd_rw_buf *buf, int count);
-int   CMIDI_read  (int dev, struct fileinfo *file, snd_rw_buf *buf, int count);
-int   CMIDI_close (int dev, struct fileinfo *file); 
 
 /*
  *
@@ -94,23 +76,23 @@
  */
 
 /*	From soundcard.c	*/
-long soundcard_init(long mem_start);
+void soundcard_init(void);
 void tenmicrosec(void);
 void request_sound_timer (int count);
 void sound_stop_timer(void);
 int snd_ioctl_return(int *addr, int value);
-int snd_set_irq_handler (int interrupt_level, INT_HANDLER_PROTO(), char *name);
+int snd_set_irq_handler (int interrupt_level, void(*hndlr)(int, struct pt_regs *), char *name, sound_os_info *osp);
 void snd_release_irq(int vect);
 void sound_dma_malloc(int dev);
 void sound_dma_free(int dev);
 
 /*	From sound_switch.c	*/
 int sound_read_sw (int dev, struct fileinfo *file, snd_rw_buf *buf, int count);
-int sound_write_sw (int dev, struct fileinfo *file, snd_rw_buf *buf, int count);
+int sound_write_sw (int dev, struct fileinfo *file, const snd_rw_buf *buf, int count);
 int sound_open_sw (int dev, struct fileinfo *file);
 void sound_release_sw (int dev, struct fileinfo *file);
 int sound_ioctl_sw (int dev, struct fileinfo *file,
-	     unsigned int cmd, unsigned long arg);
+	     unsigned int cmd, ioctl_arg arg);
 
 /*	From sb_dsp.c	*/
 int sb_dsp_detect (struct address_info *hw_config);
@@ -120,6 +102,7 @@
 void sb_free_irq(void);
 int sb_dsp_command (unsigned char val);
 int sb_reset_dsp (void);
+void sb_dsp_unload(void);
 
 /*	From sb16_dsp.c	*/
 void sb16_dsp_interrupt (int irq);
@@ -142,8 +125,8 @@
 int sb_mixer_init(int major_model);
 
 /*	From opl3.c	*/
-int opl3_detect (int ioaddr);
-long opl3_init(long mem_start);
+int opl3_detect (int ioaddr, sound_os_info *osp);
+long opl3_init(long mem_start, int ioaddr, sound_os_info *osp);
 
 /*	From sb_card.c	*/
 long attach_sb_card(long mem_start, struct address_info *hw_config);
@@ -176,19 +159,21 @@
 long attach_gus_card(long mem_start, struct address_info * hw_config);
 int probe_gus(struct address_info *hw_config);
 int gus_set_midi_irq(int num);
-void gusintr(INT_HANDLER_PARMS(irq, dummy));
+void gusintr(int irq, struct pt_regs * dummy);
 long attach_gus_db16(long mem_start, struct address_info * hw_config);
 int probe_gus_db16(struct address_info *hw_config);
 
 /*	From gus_wave.c */
 int gus_wave_detect(int baseaddr);
-long gus_wave_init(long mem_start, int irq, int dma);
+long gus_wave_init(long mem_start, struct address_info *hw_config);
+void gus_wave_unload (void);
 void gus_voice_irq(void);
 unsigned char gus_read8 (int reg);
 void gus_write8(int reg, unsigned int data);
 void guswave_dma_irq(void);
 void gus_delay(void);
-int gus_default_mixer_ioctl (int dev, unsigned int cmd, unsigned int arg);
+int gus_default_mixer_ioctl (int dev, unsigned int cmd, ioctl_arg arg);
+void gus_timer_command (unsigned int addr, unsigned int val);
 
 /*	From gus_midi.c */
 long gus_midi_init(long mem_start);
@@ -197,7 +182,7 @@
 /*	From mpu401.c */
 long attach_mpu401(long mem_start, struct address_info * hw_config);
 int probe_mpu401(struct address_info *hw_config);
-void mpuintr(INT_HANDLER_PARMS(irq, dummy));
+void mpuintr(int irq, struct pt_regs * dummy);
 
 /*	From uart6850.c */
 long attach_uart6850(long mem_start, struct address_info * hw_config);
@@ -210,7 +195,7 @@
 int pmgr_open(int dev);
 void pmgr_release(int dev);
 int pmgr_read (int dev, struct fileinfo *file, snd_rw_buf * buf, int count);
-int pmgr_write (int dev, struct fileinfo *file, snd_rw_buf * buf, int count);
+int pmgr_write (int dev, struct fileinfo *file, const snd_rw_buf * buf, int count);
 int pmgr_access(int dev, struct patmgr_info *rec);
 int pmgr_inform(int dev, int event, unsigned long parm1, unsigned long parm2,
 				    unsigned long parm3, unsigned long parm4);
@@ -219,15 +204,23 @@
 long ics2101_mixer_init(long mem_start);
 
 /*	From sound_timer.c */
-void sound_timer_init(int io_base);
 void sound_timer_interrupt(void);
+void sound_timer_syncinterval(unsigned int new_usecs);
 
 /*	From ad1848.c */
-void ad1848_init (char *name, int io_base, int irq, int dma_playback, int dma_capture);
-int ad1848_detect (int io_base);
-void     ad1848_interrupt (INT_HANDLER_PARMS(irq, dummy));
+void ad1848_init (char *name, int io_base, int irq, int dma_playback, int dma_capture, int share_dma, sound_os_info *osp);
+void ad1848_unload (int io_base, int irq, int dma_playback, int dma_capture, int share_dma);
+
+int ad1848_detect (int io_base, int *flags, sound_os_info *osp);
+#define AD_F_CS4231	0x0001	/* Returned if a CS4232 (or compatible) detected */
+#define AD_F_CS4248	0x0001	/* Returned if a CS4248 (or compatible) detected */
+
+void     ad1848_interrupt (int irq, struct pt_regs * dummy);
 long attach_ms_sound(long mem_start, struct address_info * hw_config);
 int probe_ms_sound(struct address_info *hw_config);
+long attach_pnp_ad1848(long mem_start, struct address_info * hw_config);
+int probe_pnp_ad1848(struct address_info *hw_config);
+void unload_pnp_ad1848(struct address_info *hw_info);
 
 /* 	From pss.c */
 int probe_pss (struct address_info *hw_config);
@@ -248,7 +241,7 @@
 int pss_open (int dev, struct fileinfo *file);
 void pss_release (int dev, struct fileinfo *file);
 int pss_ioctl (int dev, struct fileinfo *file,
-	   unsigned int cmd, unsigned int arg);
+	   unsigned int cmd, ioctl_arg arg);
 int pss_lseek (int dev, struct fileinfo *file, off_t offset, int orig);
 long pss_init(long mem_start);
 
@@ -273,3 +266,45 @@
 int probe_mad16 (struct address_info *hw_config);
 long attach_mad16_mpu (long mem_start, struct address_info *hw_config);
 int probe_mad16_mpu (struct address_info *hw_config);
+int mad16_sb_dsp_detect (struct address_info *hw_config);
+long mad16_sb_dsp_init (long mem_start, struct address_info *hw_config);
+
+/*	Unload routines from various source files*/
+void unload_pss(struct address_info *hw_info);
+void unload_pss_mpu(struct address_info *hw_info);
+void unload_pss_mss(struct address_info *hw_info);
+void unload_mad16(struct address_info *hw_info);
+void unload_mad16_mpu(struct address_info *hw_info);
+void unload_adlib(struct address_info *hw_info);
+void unload_pas(struct address_info *hw_info);
+void unload_mpu401(struct address_info *hw_info);
+void unload_maui(struct address_info *hw_info);
+void unload_uart6850(struct address_info *hw_info);
+void unload_sb(struct address_info *hw_info);
+void unload_sb16(struct address_info *hw_info);
+void unload_sb16midi(struct address_info *hw_info);
+void unload_gus_db16(struct address_info *hw_info);
+void unload_ms_sound(struct address_info *hw_info);
+void unload_gus(struct address_info *hw_info);
+void unload_sscape(struct address_info *hw_info);
+void unload_ss_ms_sound(struct address_info *hw_info);
+void unload_trix_wss(struct address_info *hw_info);
+void unload_trix_sb(struct address_info *hw_info);
+void unload_trix_mpu(struct address_info *hw_info);
+void unload_cs4232(struct address_info *hw_info);
+void unload_cs4232_mpu(struct address_info *hw_info);
+
+/* From cs4232.c */
+
+int probe_cs4232 (struct address_info *hw_config);
+long attach_cs4232 (long mem_start, struct address_info *hw_config);
+int probe_cs4232_mpu (struct address_info *hw_config);
+long attach_cs4232_mpu (long mem_start, struct address_info *hw_config);
+
+/*	From maui.c */
+long attach_maui(long mem_start, struct address_info * hw_config);
+int probe_maui(struct address_info *hw_config);
+
+/*	From sound_pnp.c */
+void sound_pnp_init(void);
+void sound_pnp_disconnect(void);

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov with Sam's (original) version
of this