*** aureal/au_audio.c	Tue Aug 29 13:43:48 2000
--- aureal-1.1.2/au_audio.c	Tue Nov  7 21:55:54 2000
***************
*** 25,30 ****
--- 25,35 ----
   *
   * Revision History:
   *
+  * 
+  * 07-11-2000 Derek J. Hunt <djhunt@fusion-solutions.com>
+  *      Changed get_user_ret() function to get_user() to facilitate
+  *      compiling under 2.4.0-test10
+  *
   * 28-07-2000 Warren Chartier <icebalm@bigfoot.com>
   *	Added select routines, plays nicely with SDL and OpenAL now
   *
***************
*** 385,403 ****
  
  	case SNDCTL_DSP_SPEED:
  		PSHOW("au_audio_ioctl() : DSP_SPEED\n");
! 		get_user_ret(val, (int *)arg, -EFAULT);
  		wdev->play_stream.sample_rate = wdev->record_stream.sample_rate = val;
  		return put_user(val, (int *)arg);
  
  	case SNDCTL_DSP_STEREO:
  		PSHOW("au_audio_ioctl() : DSP_STEREO\n");
! 		get_user_ret(val, (int *)arg, -EFAULT);
  		wdev->play_stream.channel_count = wdev->record_stream.channel_count = (val ? 2 : 1);
  		return put_user(val, (int *)arg);
        
  	case SNDCTL_DSP_CHANNELS:
  		PSHOW("au_audio_ioctl() : DSP_CHANNELS\n");
! 		get_user_ret(val, (int *)arg, -EFAULT);
  		/* fixme: quad support */
  		wdev->play_stream.channel_count = wdev->record_stream.channel_count = (val == 1 ? 1 : 2);
  		return put_user(val, (int *)arg);
--- 390,408 ----
  
  	case SNDCTL_DSP_SPEED:
  		PSHOW("au_audio_ioctl() : DSP_SPEED\n");
! 		get_user(val, (int *)arg);
  		wdev->play_stream.sample_rate = wdev->record_stream.sample_rate = val;
  		return put_user(val, (int *)arg);
  
  	case SNDCTL_DSP_STEREO:
  		PSHOW("au_audio_ioctl() : DSP_STEREO\n");
! 		get_user(val, (int *)arg);
  		wdev->play_stream.channel_count = wdev->record_stream.channel_count = (val ? 2 : 1);
  		return put_user(val, (int *)arg);
        
  	case SNDCTL_DSP_CHANNELS:
  		PSHOW("au_audio_ioctl() : DSP_CHANNELS\n");
! 		get_user(val, (int *)arg);
  		/* fixme: quad support */
  		wdev->play_stream.channel_count = wdev->record_stream.channel_count = (val == 1 ? 1 : 2);
  		return put_user(val, (int *)arg);
***************
*** 408,414 ****
  
  	case SNDCTL_DSP_SETFMT:
  		PSHOW("au_audio_ioctl() : DSP_SETFMT\n");
! 		get_user_ret(val, (int *)arg, -EFAULT);
  		if(val != AFMT_QUERY) {
  			set_data_format(&wdev->play_stream, val);
  			set_data_format(&wdev->record_stream, val);
--- 413,419 ----
  
  	case SNDCTL_DSP_SETFMT:
  		PSHOW("au_audio_ioctl() : DSP_SETFMT\n");
! 		get_user(val, (int *)arg);
  		if(val != AFMT_QUERY) {
  			set_data_format(&wdev->play_stream, val);
  			set_data_format(&wdev->record_stream, val);
***************
*** 425,431 ****
  		return put_user(val, (int *)arg);
  		
  	case SNDCTL_DSP_SETTRIGGER:
! 		get_user_ret(val, (int *)arg, -EFAULT);
  		if (file->f_mode & FMODE_READ) {
  			if(val & PCM_ENABLE_INPUT) {
  				PSHOW("DSP_SETTRIGGER Called: PCM_ENABLE_INPUT\n");
--- 430,436 ----
  		return put_user(val, (int *)arg);
  		
  	case SNDCTL_DSP_SETTRIGGER:
! 		get_user(val, (int *)arg);
  		if (file->f_mode & FMODE_READ) {
  			if(val & PCM_ENABLE_INPUT) {
  				PSHOW("DSP_SETTRIGGER Called: PCM_ENABLE_INPUT\n");
***************
*** 553,565 ****
  		return put_user(wdev->play_stream.frag_size, (int *)arg);
  
  	case SNDCTL_DSP_SETFRAGMENT:
! 		get_user_ret(val, (int *)arg, -EFAULT);
  		PSHOW("DSP_SETFRAGMENT: 0x%x\n", val);
  		/* fixme - because of S/G hardware we only support a fixed (4096) frag size */
  		return SUCCESS;
  
  	case SNDCTL_DSP_SUBDIVIDE:
! 		get_user_ret(val, (int *)arg, -EFAULT);
  		PSHOW("DSP_SUBDIVIDE: 0x%x\n", val);
  		/* fixme */
  		return SUCCESS;
--- 558,570 ----
  		return put_user(wdev->play_stream.frag_size, (int *)arg);
  
  	case SNDCTL_DSP_SETFRAGMENT:
! 		get_user(val, (int *)arg);
  		PSHOW("DSP_SETFRAGMENT: 0x%x\n", val);
  		/* fixme - because of S/G hardware we only support a fixed (4096) frag size */
  		return SUCCESS;
  
  	case SNDCTL_DSP_SUBDIVIDE:
! 		get_user(val, (int *)arg);
  		PSHOW("DSP_SUBDIVIDE: 0x%x\n", val);
  		/* fixme */
  		return SUCCESS;
Files aureal/au_core.c and aureal-1.1.2/au_core.c are identical
Files aureal/au_midi.c and aureal-1.1.2/au_midi.c are identical
diff -rcs aureal/au_mixer.c aureal-1.1.2/au_mixer.c
*** aureal/au_mixer.c	Wed Aug 23 23:22:19 2000
--- aureal-1.1.2/au_mixer.c	Tue Nov  7 21:55:15 2000
***************
*** 25,30 ****
--- 25,34 ----
   * 
   * Revision History:
   *
+  * 07-11-2000 Derek J. Hunt <djhunt@fusion-solutions.com>
+  * 	Changed get_user_ret() function to get_user() to facilitate
+  *	compiling under 2.4.0-test10
+  *
   * 15-07-2000 Warren Chartier <icebalm@bigfoot.com>
   *	Mixer correctly reports the name of the sound chip
   *
***************
*** 142,148 ****
  	}
  
  	if (cmd == SOUND_MIXER_PRIVATE1) {      /* aka AUREAL_MIXER_SPDIF */
! 		get_user_ret(val, (int *)arg, -EFAULT);
  		PDEBUG("PRIVATE1 (SPDIF): %d\n", val);
  		if (val == 0) { /* query rate */
  			temp = 44100;
--- 146,152 ----
  	}
  
  	if (cmd == SOUND_MIXER_PRIVATE1) {      /* aka AUREAL_MIXER_SPDIF */
! 		get_user(val, (int *)arg);
  		PDEBUG("PRIVATE1 (SPDIF): %d\n", val);
  		if (val == 0) { /* query rate */
  			temp = 44100;
***************
*** 204,210 ****
  	switch (_IOC_NR(cmd)) {
  
  	case SOUND_MIXER_RECSRC:
! 		get_user_ret(dev->mix_recsrc, (int *)arg, -EFAULT);
  		set_rec_src(dev, dev->mix_recsrc);
  		return SUCCESS;
  
--- 208,214 ----
  	switch (_IOC_NR(cmd)) {
  
  	case SOUND_MIXER_RECSRC:
! 		get_user(dev->mix_recsrc, (int *)arg);
  		set_rec_src(dev, dev->mix_recsrc);
  		return SUCCESS;
  
***************
*** 212,218 ****
  		i = _IOC_NR(cmd);
  		if (i >= SOUND_MIXER_NRDEVICES)
  			return -EINVAL;
! 		get_user_ret(val, (int *)arg, -EFAULT);
  		write_mixer(dev, (unsigned)i, val);
  		dev->mix_vol[i] = val;
  		return put_user(val, (int *)arg);
--- 216,222 ----
  		i = _IOC_NR(cmd);
  		if (i >= SOUND_MIXER_NRDEVICES)
  			return -EINVAL;
! 		get_user(val, (int *)arg);
  		write_mixer(dev, (unsigned)i, val);
  		dev->mix_vol[i] = val;
  		return put_user(val, (int *)arg);

