]> git.alsa-project.org Git - alsa-lib.git/commitdiff
Move poll_* callbacks to fast_ops
authorTakashi Iwai <tiwai@suse.de>
Mon, 23 May 2005 09:03:16 +0000 (09:03 +0000)
committerTakashi Iwai <tiwai@suse.de>
Mon, 23 May 2005 09:03:16 +0000 (09:03 +0000)
Moved poll_* callbacks to fast_ops.
These callbacks may be called frequently indeed.

25 files changed:
src/pcm/pcm.c
src/pcm/pcm_adpcm.c
src/pcm/pcm_alaw.c
src/pcm/pcm_copy.c
src/pcm/pcm_dmix.c
src/pcm/pcm_dshare.c
src/pcm/pcm_dsnoop.c
src/pcm/pcm_extplug.c
src/pcm/pcm_file.c
src/pcm/pcm_hooks.c
src/pcm/pcm_hw.c
src/pcm/pcm_iec958.c
src/pcm/pcm_ioplug.c
src/pcm/pcm_ladspa.c
src/pcm/pcm_lfloat.c
src/pcm/pcm_linear.c
src/pcm/pcm_local.h
src/pcm/pcm_meter.c
src/pcm/pcm_mulaw.c
src/pcm/pcm_multi.c
src/pcm/pcm_plug.c
src/pcm/pcm_plugin.c
src/pcm/pcm_rate.c
src/pcm/pcm_route.c
src/pcm/pcm_softvol.c

index 39c8f008885a9d3d4ff14ac005972b07fa915279..f52d78d1bdb8e483bc5b26f057659ccf9d52ec1b 100644 (file)
@@ -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;
index 12b41c4d125c411cf62552b90760cd9cc1a058ba..cc7a24fd7a1c0e500520a5fb9bdc7939133e21c3 100644 (file)
@@ -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,
 };
index 30f2380b3b352f6f3f1319278d7f1e92cf8d769a..e25176a2017fdcca4e769e19c10746f42c05d4c0 100644 (file)
@@ -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,
 };
index a65f136a7469f15da725e3db3bf7a6ee46d0ed3b..1e8510f4045d0d835008983d06259fb9afa65427 100644 (file)
@@ -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,
 };
index cca0cfa04ba83ff3e5008b3d60303cdc73c9178f..915661b03c1d624f7f1221b7b0c67c7f5980bb60 100644 (file)
@@ -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,
 };
 
 /**
index 2ea977308ae010cdb9677b5116d17d6431c32809..4c2ae3d4c77b9af2ce9f851308a6f8b8558a1478 100644 (file)
@@ -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,
 };
 
 /**
index 6005bbae41ae3e450bf9d00749c55cd7af057684..34dfb9e8c51aea1544a67414cdc41612f526a204 100644 (file)
@@ -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,
 };
 
 /**
index f32a40c6fcf4032f4a823154b2291489f3e0123c..e51800b04e311870145540890c15841939116482 100644 (file)
@@ -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,
 };
index a77ae409e0c528a1846fd5bc99c3b37fba6ad246..c06e0a9e426e18759551ecc67f3d0ef7fdfca148 100644 (file)
@@ -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,
 };
 
 /**
index 340e827225dc825d5f1611c417f0e9d45dd59cb2..84d866e753a84e97f8b3ffe9e2f34cfbc5232d92 100644 (file)
@@ -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,
 };
 
 /**
index f293ee3910faed72fc0889d22b542a8002f1c1e6..c97544eece9736038fa253629775e2375392dfbd 100644 (file)
@@ -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,
 };
 
 /**
index 5586753bf68a05da06a14d91726432a4b0b0df6b..0adce053f478c6c70a3eb8451a5edc04555e99a8 100644 (file)
@@ -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,
 };
index 1dd18036a2edfaaa24226bd1b267855bba02b9e8..2dc97d24a479e6bed2d246f632b2031249e1a1c2 100644 (file)
@@ -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 */
index 74f2762bfbd377441bec4a24542de29ff19f2f81..c23bde24d6cfd6a845c6d285328c41843bacce4d 100644 (file)
@@ -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,
 };
index bfbf2891f61225299f81f9a746f130e4ff577ca7..13f2a62581dff64c05c26777f91729ac063b0988 100644 (file)
@@ -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,
 };
index e0dd6d4f40fc593777f50ce56c062e52c626b03d..6c605b02fc438639d39aef0362d537312e581c15 100644 (file)
@@ -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,
 };
index 15464a6327c05659a696c4e09f38fc9a03ddcf5e..45b979c8496e0be6946f9749553ffacdb7debc15 100644 (file)
@@ -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;
index b3b8d1b7174b0b244148d1a299deaac1e7621104..cb6b763c1fc06fc9429a1a79f3f9b6d610ce63ce 100644 (file)
@@ -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,
 };
 
 /**
index 72a5134cee6e7a590621dbf8bb897e3d059e285e..f5d52bdbc632a1a7ed76b87f0f8597db38d15dc1 100644 (file)
@@ -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,
 };
index 675a6c938b11eb97262d689bf024ad001019525e..6073c733ab41cf754ee922e42327fff23a61639d 100644 (file)
@@ -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,
 };
 
 /**
index 656196abde8511febc97f5bcefd33bbdf1aab3ff..b7f9b1931d5025f0392cf15619ae7323213edf62 100644 (file)
@@ -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,
 };
index dfa07a67f3cdf0568ee95b7486021e2074e2afdd..583f95b7d2bc99bc5f00ddc614073b6d162c756c 100644 (file)
@@ -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
index 40fc8dfd7a8a98de6a08ad057c77b13c0ea5255c..46671f1ea700a0da4679a9be6fdc0542bf140bce 100644 (file)
@@ -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,
 };
index 26a3dc6ea8326675b8a919be9530cf9ce6e1103d..28268865df32b87747e742281eff768dd6e08a52 100644 (file)
@@ -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,
 };
index e7b8776909e6ec9171d22a8dd206198d0007fbcd..c0669ff172f9a59ec5958eeddc5789a4fa1a72a4 100644 (file)
@@ -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,
 };