mirror of
				https://github.com/alsa-project/alsa-lib.git
				synced 2025-10-29 05:40:25 -04:00 
			
		
		
		
	Move poll_* callbacks to fast_ops
Moved poll_* callbacks to fast_ops. These callbacks may be called frequently indeed.
This commit is contained in:
		
							parent
							
								
									dae58c0192
								
							
						
					
					
						commit
						dd37bb20ee
					
				
					 25 changed files with 45 additions and 72 deletions
				
			
		|  | @ -1273,8 +1273,8 @@ int snd_pcm_unlink(snd_pcm_t *pcm) | |||
| int snd_pcm_poll_descriptors_count(snd_pcm_t *pcm) | ||||
| { | ||||
| 	assert(pcm); | ||||
| 	if (pcm->ops->poll_descriptors_count) | ||||
| 		return pcm->ops->poll_descriptors_count(pcm->op_arg); | ||||
| 	if (pcm->fast_ops->poll_descriptors_count) | ||||
| 		return pcm->fast_ops->poll_descriptors_count(pcm->fast_op_arg); | ||||
| 	return pcm->poll_fd_count; | ||||
| } | ||||
| 
 | ||||
|  | @ -1305,11 +1305,9 @@ int snd_pcm_poll_descriptors_count(snd_pcm_t *pcm) | |||
|  */ | ||||
| int snd_pcm_poll_descriptors(snd_pcm_t *pcm, struct pollfd *pfds, unsigned int space) | ||||
| { | ||||
| 	int err; | ||||
| 
 | ||||
| 	assert(pcm && pfds); | ||||
| 	if (pcm->ops->poll_descriptors) | ||||
| 		return pcm->ops->poll_descriptors(pcm->op_arg, pfds, space); | ||||
| 	if (pcm->fast_ops->poll_descriptors) | ||||
| 		return pcm->fast_ops->poll_descriptors(pcm->fast_op_arg, pfds, space); | ||||
| 	if (pcm->poll_fd < 0) { | ||||
| 		SNDMSG("poll_fd < 0"); | ||||
| 		return -EIO; | ||||
|  | @ -1342,8 +1340,8 @@ int snd_pcm_poll_descriptors(snd_pcm_t *pcm, struct pollfd *pfds, unsigned int s | |||
| int snd_pcm_poll_descriptors_revents(snd_pcm_t *pcm, struct pollfd *pfds, unsigned int nfds, unsigned short *revents) | ||||
| { | ||||
| 	assert(pcm && pfds && revents); | ||||
| 	if (pcm->ops->poll_revents) | ||||
| 		return pcm->ops->poll_revents(pcm->op_arg, pfds, nfds, revents); | ||||
| 	if (pcm->fast_ops->poll_revents) | ||||
| 		return pcm->fast_ops->poll_revents(pcm->fast_op_arg, pfds, nfds, revents); | ||||
| 	if (nfds == 1) { | ||||
| 		*revents = pfds->revents; | ||||
| 		return 0; | ||||
|  |  | |||
|  | @ -529,9 +529,6 @@ static snd_pcm_ops_t snd_pcm_adpcm_ops = { | |||
| 	.dump = snd_pcm_adpcm_dump, | ||||
| 	.nonblock = snd_pcm_generic_nonblock, | ||||
| 	.async = snd_pcm_generic_async, | ||||
| 	.poll_descriptors_count = snd_pcm_generic_poll_descriptors_count, | ||||
| 	.poll_descriptors = snd_pcm_generic_poll_descriptors, | ||||
| 	.poll_revents = snd_pcm_generic_poll_revents, | ||||
| 	.mmap = snd_pcm_generic_mmap, | ||||
| 	.munmap = snd_pcm_generic_munmap, | ||||
| }; | ||||
|  |  | |||
|  | @ -400,9 +400,6 @@ static snd_pcm_ops_t snd_pcm_alaw_ops = { | |||
| 	.dump = snd_pcm_alaw_dump, | ||||
| 	.nonblock = snd_pcm_generic_nonblock, | ||||
| 	.async = snd_pcm_generic_async, | ||||
| 	.poll_descriptors_count = snd_pcm_generic_poll_descriptors_count, | ||||
| 	.poll_descriptors = snd_pcm_generic_poll_descriptors, | ||||
| 	.poll_revents = snd_pcm_generic_poll_revents, | ||||
| 	.mmap = snd_pcm_generic_mmap, | ||||
| 	.munmap = snd_pcm_generic_munmap, | ||||
| }; | ||||
|  |  | |||
|  | @ -163,9 +163,6 @@ static snd_pcm_ops_t snd_pcm_copy_ops = { | |||
| 	.dump = snd_pcm_copy_dump, | ||||
| 	.nonblock = snd_pcm_generic_nonblock, | ||||
| 	.async = snd_pcm_generic_async, | ||||
| 	.poll_descriptors_count = snd_pcm_generic_poll_descriptors_count, | ||||
| 	.poll_descriptors = snd_pcm_generic_poll_descriptors, | ||||
| 	.poll_revents = snd_pcm_generic_poll_revents, | ||||
| 	.mmap = snd_pcm_generic_mmap, | ||||
| 	.munmap = snd_pcm_generic_munmap, | ||||
| }; | ||||
|  |  | |||
|  | @ -673,7 +673,6 @@ static snd_pcm_ops_t snd_pcm_dmix_ops = { | |||
| 	.dump = snd_pcm_dmix_dump, | ||||
| 	.nonblock = snd_pcm_direct_nonblock, | ||||
| 	.async = snd_pcm_direct_async, | ||||
| 	.poll_revents = snd_pcm_dmix_poll_revents, | ||||
| 	.mmap = snd_pcm_direct_mmap, | ||||
| 	.munmap = snd_pcm_direct_munmap, | ||||
| }; | ||||
|  | @ -701,6 +700,9 @@ static snd_pcm_fast_ops_t snd_pcm_dmix_fast_ops = { | |||
| 	.readn = snd_pcm_dmix_readn, | ||||
| 	.avail_update = snd_pcm_dmix_avail_update, | ||||
| 	.mmap_commit = snd_pcm_dmix_mmap_commit, | ||||
| 	.poll_descriptors = NULL, | ||||
| 	.poll_descriptors_count = NULL, | ||||
| 	.poll_revents = snd_pcm_dmix_poll_revents, | ||||
| }; | ||||
| 
 | ||||
| /**
 | ||||
|  |  | |||
|  | @ -538,7 +538,6 @@ static snd_pcm_ops_t snd_pcm_dshare_ops = { | |||
| 	.dump = snd_pcm_dshare_dump, | ||||
| 	.nonblock = snd_pcm_direct_nonblock, | ||||
| 	.async = snd_pcm_direct_async, | ||||
| 	.poll_revents = snd_pcm_direct_poll_revents, | ||||
| 	.mmap = snd_pcm_direct_mmap, | ||||
| 	.munmap = snd_pcm_direct_munmap, | ||||
| }; | ||||
|  | @ -566,6 +565,9 @@ static snd_pcm_fast_ops_t snd_pcm_dshare_fast_ops = { | |||
| 	.readn = snd_pcm_dshare_readn, | ||||
| 	.avail_update = snd_pcm_dshare_avail_update, | ||||
| 	.mmap_commit = snd_pcm_dshare_mmap_commit, | ||||
| 	.poll_descriptors = NULL, | ||||
| 	.poll_descriptors_count = NULL, | ||||
| 	.poll_revents = snd_pcm_direct_poll_revents, | ||||
| }; | ||||
| 
 | ||||
| /**
 | ||||
|  |  | |||
|  | @ -439,7 +439,6 @@ static snd_pcm_ops_t snd_pcm_dsnoop_ops = { | |||
| 	.dump = snd_pcm_dsnoop_dump, | ||||
| 	.nonblock = snd_pcm_direct_nonblock, | ||||
| 	.async = snd_pcm_direct_async, | ||||
| 	.poll_revents = snd_pcm_direct_poll_revents, | ||||
| 	.mmap = snd_pcm_direct_mmap, | ||||
| 	.munmap = snd_pcm_direct_munmap, | ||||
| }; | ||||
|  | @ -467,6 +466,9 @@ static snd_pcm_fast_ops_t snd_pcm_dsnoop_fast_ops = { | |||
| 	.readn = snd_pcm_mmap_readn, | ||||
| 	.avail_update = snd_pcm_dsnoop_avail_update, | ||||
| 	.mmap_commit = snd_pcm_dsnoop_mmap_commit, | ||||
| 	.poll_descriptors = NULL, | ||||
| 	.poll_descriptors_count = NULL, | ||||
| 	.poll_revents = snd_pcm_direct_poll_revents, | ||||
| }; | ||||
| 
 | ||||
| /**
 | ||||
|  |  | |||
|  | @ -423,9 +423,6 @@ static snd_pcm_ops_t snd_pcm_extplug_ops = { | |||
| 	.dump = snd_pcm_extplug_dump, | ||||
| 	.nonblock = snd_pcm_generic_nonblock, | ||||
| 	.async = snd_pcm_generic_async, | ||||
| 	.poll_descriptors_count = snd_pcm_generic_poll_descriptors_count, | ||||
| 	.poll_descriptors = snd_pcm_generic_poll_descriptors, | ||||
| 	.poll_revents = snd_pcm_generic_poll_revents, | ||||
| 	.mmap = snd_pcm_generic_mmap, | ||||
| 	.munmap = snd_pcm_generic_munmap, | ||||
| }; | ||||
|  |  | |||
|  | @ -348,9 +348,6 @@ static snd_pcm_ops_t snd_pcm_file_ops = { | |||
| 	.dump = snd_pcm_file_dump, | ||||
| 	.nonblock = snd_pcm_generic_nonblock, | ||||
| 	.async = snd_pcm_generic_async, | ||||
| 	.poll_descriptors_count = snd_pcm_generic_poll_descriptors_count, | ||||
| 	.poll_descriptors = snd_pcm_generic_poll_descriptors, | ||||
| 	.poll_revents = snd_pcm_generic_poll_revents, | ||||
| 	.mmap = snd_pcm_file_mmap, | ||||
| 	.munmap = snd_pcm_file_munmap, | ||||
| }; | ||||
|  | @ -378,6 +375,9 @@ static snd_pcm_fast_ops_t snd_pcm_file_fast_ops = { | |||
| 	.readn = snd_pcm_file_readn, | ||||
| 	.avail_update = snd_pcm_generic_avail_update, | ||||
| 	.mmap_commit = snd_pcm_file_mmap_commit, | ||||
| 	.poll_descriptors_count = snd_pcm_generic_poll_descriptors_count, | ||||
| 	.poll_descriptors = snd_pcm_generic_poll_descriptors, | ||||
| 	.poll_revents = snd_pcm_generic_poll_revents, | ||||
| }; | ||||
| 
 | ||||
| /**
 | ||||
|  |  | |||
|  | @ -130,9 +130,6 @@ static snd_pcm_ops_t snd_pcm_hooks_ops = { | |||
| 	.dump = snd_pcm_hooks_dump, | ||||
| 	.nonblock = snd_pcm_generic_nonblock, | ||||
| 	.async = snd_pcm_generic_async, | ||||
| 	.poll_descriptors_count = snd_pcm_generic_poll_descriptors_count, | ||||
| 	.poll_descriptors = snd_pcm_generic_poll_descriptors, | ||||
| 	.poll_revents = snd_pcm_generic_poll_revents, | ||||
| 	.mmap = snd_pcm_generic_mmap, | ||||
| 	.munmap = snd_pcm_generic_munmap, | ||||
| }; | ||||
|  | @ -160,6 +157,9 @@ static snd_pcm_fast_ops_t snd_pcm_hooks_fast_ops = { | |||
| 	.readn = snd_pcm_generic_readn, | ||||
| 	.avail_update = snd_pcm_generic_avail_update, | ||||
| 	.mmap_commit = snd_pcm_generic_mmap_commit, | ||||
| 	.poll_descriptors_count = snd_pcm_generic_poll_descriptors_count, | ||||
| 	.poll_descriptors = snd_pcm_generic_poll_descriptors, | ||||
| 	.poll_revents = snd_pcm_generic_poll_revents, | ||||
| }; | ||||
| 
 | ||||
| /**
 | ||||
|  |  | |||
|  | @ -1002,7 +1002,6 @@ static snd_pcm_ops_t snd_pcm_hw_ops = { | |||
| 	.dump = snd_pcm_hw_dump, | ||||
| 	.nonblock = snd_pcm_hw_nonblock, | ||||
| 	.async = snd_pcm_hw_async, | ||||
| 	.poll_revents = NULL, | ||||
| 	.mmap = snd_pcm_hw_mmap, | ||||
| 	.munmap = snd_pcm_hw_munmap, | ||||
| }; | ||||
|  | @ -1030,6 +1029,9 @@ static snd_pcm_fast_ops_t snd_pcm_hw_fast_ops = { | |||
| 	.readn = snd_pcm_hw_readn, | ||||
| 	.avail_update = snd_pcm_hw_avail_update, | ||||
| 	.mmap_commit = snd_pcm_hw_mmap_commit, | ||||
| 	.poll_descriptors = NULL, | ||||
| 	.poll_descriptors_count = NULL, | ||||
| 	.poll_revents = NULL, | ||||
| }; | ||||
| 
 | ||||
| /**
 | ||||
|  |  | |||
|  | @ -423,9 +423,6 @@ static snd_pcm_ops_t snd_pcm_iec958_ops = { | |||
| 	.dump = snd_pcm_iec958_dump, | ||||
| 	.nonblock = snd_pcm_generic_nonblock, | ||||
| 	.async = snd_pcm_generic_async, | ||||
| 	.poll_descriptors_count = snd_pcm_generic_poll_descriptors_count, | ||||
| 	.poll_descriptors = snd_pcm_generic_poll_descriptors, | ||||
| 	.poll_revents = snd_pcm_generic_poll_revents, | ||||
| 	.mmap = snd_pcm_generic_mmap, | ||||
| 	.munmap = snd_pcm_generic_munmap, | ||||
| }; | ||||
|  |  | |||
|  | @ -712,9 +712,6 @@ static snd_pcm_ops_t snd_pcm_ioplug_ops = { | |||
| 	.close = snd_pcm_ioplug_close, | ||||
| 	.nonblock = snd_pcm_ioplug_nonblock, | ||||
| 	.async = snd_pcm_ioplug_async, | ||||
| 	.poll_descriptors_count = snd_pcm_ioplug_poll_descriptors_count, | ||||
| 	.poll_descriptors = snd_pcm_ioplug_poll_descriptors, | ||||
| 	.poll_revents = snd_pcm_ioplug_poll_revents, | ||||
| 	.info = snd_pcm_ioplug_info, | ||||
| 	.hw_refine = snd_pcm_ioplug_hw_refine, | ||||
| 	.hw_params = snd_pcm_ioplug_hw_params, | ||||
|  | @ -749,6 +746,9 @@ static snd_pcm_fast_ops_t snd_pcm_ioplug_fast_ops = { | |||
| 	.readn = snd_pcm_ioplug_readn, | ||||
| 	.avail_update = snd_pcm_ioplug_avail_update, | ||||
| 	.mmap_commit = snd_pcm_ioplug_mmap_commit, | ||||
| 	.poll_descriptors_count = snd_pcm_ioplug_poll_descriptors_count, | ||||
| 	.poll_descriptors = snd_pcm_ioplug_poll_descriptors, | ||||
| 	.poll_revents = snd_pcm_ioplug_poll_revents, | ||||
| }; | ||||
| 
 | ||||
| #endif /* !DOC_HIDDEN */ | ||||
|  |  | |||
|  | @ -707,9 +707,6 @@ static snd_pcm_ops_t snd_pcm_ladspa_ops = { | |||
| 	.dump = snd_pcm_ladspa_dump, | ||||
| 	.nonblock = snd_pcm_generic_nonblock, | ||||
| 	.async = snd_pcm_generic_async, | ||||
| 	.poll_descriptors_count = snd_pcm_generic_poll_descriptors_count, | ||||
| 	.poll_descriptors = snd_pcm_generic_poll_descriptors, | ||||
| 	.poll_revents = snd_pcm_generic_poll_revents, | ||||
| 	.mmap = snd_pcm_generic_mmap, | ||||
| 	.munmap = snd_pcm_generic_munmap, | ||||
| }; | ||||
|  |  | |||
|  | @ -359,9 +359,6 @@ static snd_pcm_ops_t snd_pcm_lfloat_ops = { | |||
| 	.dump = snd_pcm_lfloat_dump, | ||||
| 	.nonblock = snd_pcm_generic_nonblock, | ||||
| 	.async = snd_pcm_generic_async, | ||||
| 	.poll_descriptors_count = snd_pcm_generic_poll_descriptors_count, | ||||
| 	.poll_descriptors = snd_pcm_generic_poll_descriptors, | ||||
| 	.poll_revents = snd_pcm_generic_poll_revents, | ||||
| 	.mmap = snd_pcm_generic_mmap, | ||||
| 	.munmap = snd_pcm_generic_munmap, | ||||
| }; | ||||
|  |  | |||
|  | @ -416,9 +416,6 @@ static snd_pcm_ops_t snd_pcm_linear_ops = { | |||
| 	.dump = snd_pcm_linear_dump, | ||||
| 	.nonblock = snd_pcm_generic_nonblock, | ||||
| 	.async = snd_pcm_generic_async, | ||||
| 	.poll_descriptors_count = snd_pcm_generic_poll_descriptors_count, | ||||
| 	.poll_descriptors = snd_pcm_generic_poll_descriptors, | ||||
| 	.poll_revents = snd_pcm_generic_poll_revents, | ||||
| 	.mmap = snd_pcm_generic_mmap, | ||||
| 	.munmap = snd_pcm_generic_munmap, | ||||
| }; | ||||
|  |  | |||
|  | @ -129,9 +129,6 @@ typedef struct { | |||
| 	int (*close)(snd_pcm_t *pcm); | ||||
| 	int (*nonblock)(snd_pcm_t *pcm, int nonblock); | ||||
| 	int (*async)(snd_pcm_t *pcm, int sig, pid_t pid); | ||||
| 	int (*poll_descriptors_count)(snd_pcm_t *pcm); | ||||
| 	int (*poll_descriptors)(snd_pcm_t *pcm, struct pollfd *pfds, unsigned int space); | ||||
| 	int (*poll_revents)(snd_pcm_t *pcm, struct pollfd *pfds, unsigned int nfds, unsigned short *revents); | ||||
| 	int (*info)(snd_pcm_t *pcm, snd_pcm_info_t *info); | ||||
| 	int (*hw_refine)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params); | ||||
| 	int (*hw_params)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params); | ||||
|  | @ -166,6 +163,9 @@ typedef struct { | |||
| 	snd_pcm_sframes_t (*readn)(snd_pcm_t *pcm, void **bufs, snd_pcm_uframes_t size); | ||||
| 	snd_pcm_sframes_t (*avail_update)(snd_pcm_t *pcm); | ||||
| 	snd_pcm_sframes_t (*mmap_commit)(snd_pcm_t *pcm, snd_pcm_uframes_t offset, snd_pcm_uframes_t size); | ||||
| 	int (*poll_descriptors_count)(snd_pcm_t *pcm); | ||||
| 	int (*poll_descriptors)(snd_pcm_t *pcm, struct pollfd *pfds, unsigned int space); | ||||
| 	int (*poll_revents)(snd_pcm_t *pcm, struct pollfd *pfds, unsigned int nfds, unsigned short *revents); | ||||
| } snd_pcm_fast_ops_t; | ||||
| 
 | ||||
| struct _snd_pcm { | ||||
|  | @ -211,9 +211,9 @@ struct _snd_pcm { | |||
| 	snd_pcm_rbptr_t appl; | ||||
| 	snd_pcm_rbptr_t hw; | ||||
| 	snd_pcm_uframes_t min_align; | ||||
| 	unsigned int mmap_rw: 1; | ||||
| 	unsigned int mmap_shadow: 1; | ||||
| 	unsigned int donot_close: 1; | ||||
| 	unsigned int mmap_rw: 1;	/* use always mmapped buffer */ | ||||
| 	unsigned int mmap_shadow: 1;	/* don't call actual mmap */ | ||||
| 	unsigned int donot_close: 1;	/* don't close this PCM */ | ||||
| 	snd_pcm_channel_info_t *mmap_channels; | ||||
| 	snd_pcm_channel_area_t *running_areas; | ||||
| 	snd_pcm_channel_area_t *stopped_areas; | ||||
|  |  | |||
|  | @ -512,9 +512,6 @@ static snd_pcm_ops_t snd_pcm_meter_ops = { | |||
| 	.dump = snd_pcm_meter_dump, | ||||
| 	.nonblock = snd_pcm_generic_nonblock, | ||||
| 	.async = snd_pcm_generic_async, | ||||
| 	.poll_descriptors_count = snd_pcm_generic_poll_descriptors_count, | ||||
| 	.poll_descriptors = snd_pcm_generic_poll_descriptors, | ||||
| 	.poll_revents = snd_pcm_generic_poll_revents, | ||||
| 	.mmap = snd_pcm_generic_mmap, | ||||
| 	.munmap = snd_pcm_generic_munmap, | ||||
| }; | ||||
|  | @ -539,6 +536,9 @@ static snd_pcm_fast_ops_t snd_pcm_meter_fast_ops = { | |||
| 	.readn = snd_pcm_mmap_readn, | ||||
| 	.avail_update = snd_pcm_meter_avail_update, | ||||
| 	.mmap_commit = snd_pcm_meter_mmap_commit, | ||||
| 	.poll_descriptors_count = snd_pcm_generic_poll_descriptors_count, | ||||
| 	.poll_descriptors = snd_pcm_generic_poll_descriptors, | ||||
| 	.poll_revents = snd_pcm_generic_poll_revents, | ||||
| }; | ||||
| 
 | ||||
| /**
 | ||||
|  |  | |||
|  | @ -415,9 +415,6 @@ static snd_pcm_ops_t snd_pcm_mulaw_ops = { | |||
| 	.dump = snd_pcm_mulaw_dump, | ||||
| 	.nonblock = snd_pcm_generic_nonblock, | ||||
| 	.async = snd_pcm_generic_async, | ||||
| 	.poll_descriptors_count = snd_pcm_generic_poll_descriptors_count, | ||||
| 	.poll_descriptors = snd_pcm_generic_poll_descriptors, | ||||
| 	.poll_revents = snd_pcm_generic_poll_revents, | ||||
| 	.mmap = snd_pcm_generic_mmap, | ||||
| 	.munmap = snd_pcm_generic_munmap, | ||||
| }; | ||||
|  |  | |||
|  | @ -704,9 +704,6 @@ static snd_pcm_ops_t snd_pcm_multi_ops = { | |||
| 	.dump = snd_pcm_multi_dump, | ||||
| 	.nonblock = snd_pcm_multi_nonblock, | ||||
| 	.async = snd_pcm_multi_async, | ||||
| 	.poll_descriptors_count = snd_pcm_multi_poll_descriptors_count, | ||||
| 	.poll_descriptors = snd_pcm_multi_poll_descriptors, | ||||
| 	.poll_revents = snd_pcm_multi_poll_revents, | ||||
| 	.mmap = snd_pcm_multi_mmap, | ||||
| 	.munmap = snd_pcm_multi_munmap, | ||||
| }; | ||||
|  | @ -734,6 +731,9 @@ static snd_pcm_fast_ops_t snd_pcm_multi_fast_ops = { | |||
| 	.unlink = snd_pcm_multi_unlink, | ||||
| 	.avail_update = snd_pcm_multi_avail_update, | ||||
| 	.mmap_commit = snd_pcm_multi_mmap_commit, | ||||
| 	.poll_descriptors_count = snd_pcm_multi_poll_descriptors_count, | ||||
| 	.poll_descriptors = snd_pcm_multi_poll_descriptors, | ||||
| 	.poll_revents = snd_pcm_multi_poll_revents, | ||||
| }; | ||||
| 
 | ||||
| /**
 | ||||
|  |  | |||
|  | @ -953,9 +953,6 @@ static snd_pcm_ops_t snd_pcm_plug_ops = { | |||
| 	.dump = snd_pcm_plug_dump, | ||||
| 	.nonblock = snd_pcm_generic_nonblock, | ||||
| 	.async = snd_pcm_generic_async, | ||||
| 	.poll_descriptors_count = snd_pcm_generic_poll_descriptors_count, | ||||
| 	.poll_descriptors = snd_pcm_generic_poll_descriptors, | ||||
| 	.poll_revents = snd_pcm_generic_poll_revents, | ||||
| 	.mmap = snd_pcm_plug_mmap, | ||||
| 	.munmap = snd_pcm_plug_munmap, | ||||
| }; | ||||
|  |  | |||
|  | @ -567,6 +567,9 @@ snd_pcm_fast_ops_t snd_pcm_plugin_fast_ops = { | |||
| 	.readn = snd_pcm_plugin_readn, | ||||
| 	.avail_update = snd_pcm_plugin_avail_update, | ||||
| 	.mmap_commit = snd_pcm_plugin_mmap_commit, | ||||
| 	.poll_descriptors_count = snd_pcm_generic_poll_descriptors_count, | ||||
| 	.poll_descriptors = snd_pcm_generic_poll_descriptors, | ||||
| 	.poll_revents = snd_pcm_generic_poll_revents, | ||||
| }; | ||||
| 
 | ||||
| #endif | ||||
|  |  | |||
|  | @ -1381,6 +1381,9 @@ static snd_pcm_fast_ops_t snd_pcm_rate_fast_ops = { | |||
| 	.readn = snd_pcm_mmap_readn, | ||||
| 	.avail_update = snd_pcm_rate_avail_update, | ||||
| 	.mmap_commit = snd_pcm_rate_mmap_commit, | ||||
| 	.poll_descriptors_count = snd_pcm_generic_poll_descriptors_count, | ||||
| 	.poll_descriptors = snd_pcm_rate_poll_descriptors, | ||||
| 	.poll_revents = snd_pcm_rate_poll_revents, | ||||
| }; | ||||
| 
 | ||||
| static snd_pcm_ops_t snd_pcm_rate_ops = { | ||||
|  | @ -1394,9 +1397,6 @@ static snd_pcm_ops_t snd_pcm_rate_ops = { | |||
| 	.dump = snd_pcm_rate_dump, | ||||
| 	.nonblock = snd_pcm_generic_nonblock, | ||||
| 	.async = snd_pcm_generic_async, | ||||
| 	.poll_revents = snd_pcm_rate_poll_revents, | ||||
| 	.poll_descriptors_count = snd_pcm_generic_poll_descriptors_count, | ||||
| 	.poll_descriptors = snd_pcm_rate_poll_descriptors, | ||||
| 	.mmap = snd_pcm_generic_mmap, | ||||
| 	.munmap = snd_pcm_generic_munmap, | ||||
| }; | ||||
|  |  | |||
|  | @ -757,9 +757,6 @@ static snd_pcm_ops_t snd_pcm_route_ops = { | |||
| 	.dump = snd_pcm_route_dump, | ||||
| 	.nonblock = snd_pcm_generic_nonblock, | ||||
| 	.async = snd_pcm_generic_async, | ||||
| 	.poll_descriptors_count = snd_pcm_generic_poll_descriptors_count, | ||||
| 	.poll_descriptors = snd_pcm_generic_poll_descriptors, | ||||
| 	.poll_revents = snd_pcm_generic_poll_revents, | ||||
| 	.mmap = snd_pcm_generic_mmap, | ||||
| 	.munmap = snd_pcm_generic_munmap, | ||||
| }; | ||||
|  |  | |||
|  | @ -583,9 +583,6 @@ static snd_pcm_ops_t snd_pcm_softvol_ops = { | |||
| 	.dump = snd_pcm_softvol_dump, | ||||
| 	.nonblock = snd_pcm_generic_nonblock, | ||||
| 	.async = snd_pcm_generic_async, | ||||
| 	.poll_descriptors_count = snd_pcm_generic_poll_descriptors_count, | ||||
| 	.poll_descriptors = snd_pcm_generic_poll_descriptors, | ||||
| 	.poll_revents = snd_pcm_generic_poll_revents, | ||||
| 	.mmap = snd_pcm_generic_mmap, | ||||
| 	.munmap = snd_pcm_generic_munmap, | ||||
| }; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Takashi Iwai
						Takashi Iwai