diff options
author | Takashi Iwai <tiwai@suse.de> | 2005-11-17 04:18:00 -0500 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2006-01-03 06:16:33 -0500 |
commit | 47eaebfd31610d2a55fbaccd1e7c37690d42ce30 (patch) | |
tree | d86d90a3741e09cf660aef3dda96566ff68778eb /sound/core/oss/pcm_plugin.c | |
parent | 230b5c1a612ae903c560b55a15df287b0ff437ea (diff) |
[ALSA] Use standard bitmap functions
Modules: ALSA<-OSS emulation
Use standard bitmap functions instead of in-house ones.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/core/oss/pcm_plugin.c')
-rw-r--r-- | sound/core/oss/pcm_plugin.c | 54 |
1 files changed, 27 insertions, 27 deletions
diff --git a/sound/core/oss/pcm_plugin.c b/sound/core/oss/pcm_plugin.c index fc23373c000..312ae1f2bfc 100644 --- a/sound/core/oss/pcm_plugin.c +++ b/sound/core/oss/pcm_plugin.c | |||
@@ -37,21 +37,21 @@ | |||
37 | #define snd_pcm_plug_last(plug) ((plug)->runtime->oss.plugin_last) | 37 | #define snd_pcm_plug_last(plug) ((plug)->runtime->oss.plugin_last) |
38 | 38 | ||
39 | static int snd_pcm_plugin_src_channels_mask(snd_pcm_plugin_t *plugin, | 39 | static int snd_pcm_plugin_src_channels_mask(snd_pcm_plugin_t *plugin, |
40 | bitset_t *dst_vmask, | 40 | unsigned long *dst_vmask, |
41 | bitset_t **src_vmask) | 41 | unsigned long **src_vmask) |
42 | { | 42 | { |
43 | bitset_t *vmask = plugin->src_vmask; | 43 | unsigned long *vmask = plugin->src_vmask; |
44 | bitset_copy(vmask, dst_vmask, plugin->src_format.channels); | 44 | bitmap_copy(vmask, dst_vmask, plugin->src_format.channels); |
45 | *src_vmask = vmask; | 45 | *src_vmask = vmask; |
46 | return 0; | 46 | return 0; |
47 | } | 47 | } |
48 | 48 | ||
49 | static int snd_pcm_plugin_dst_channels_mask(snd_pcm_plugin_t *plugin, | 49 | static int snd_pcm_plugin_dst_channels_mask(snd_pcm_plugin_t *plugin, |
50 | bitset_t *src_vmask, | 50 | unsigned long *src_vmask, |
51 | bitset_t **dst_vmask) | 51 | unsigned long **dst_vmask) |
52 | { | 52 | { |
53 | bitset_t *vmask = plugin->dst_vmask; | 53 | unsigned long *vmask = plugin->dst_vmask; |
54 | bitset_copy(vmask, src_vmask, plugin->dst_format.channels); | 54 | bitmap_copy(vmask, src_vmask, plugin->dst_format.channels); |
55 | *dst_vmask = vmask; | 55 | *dst_vmask = vmask; |
56 | return 0; | 56 | return 0; |
57 | } | 57 | } |
@@ -193,12 +193,12 @@ int snd_pcm_plugin_build(snd_pcm_plug_t *plug, | |||
193 | snd_pcm_plugin_free(plugin); | 193 | snd_pcm_plugin_free(plugin); |
194 | return -ENOMEM; | 194 | return -ENOMEM; |
195 | } | 195 | } |
196 | plugin->src_vmask = bitset_alloc(src_format->channels); | 196 | plugin->src_vmask = bitmap_alloc(src_format->channels); |
197 | if (plugin->src_vmask == NULL) { | 197 | if (plugin->src_vmask == NULL) { |
198 | snd_pcm_plugin_free(plugin); | 198 | snd_pcm_plugin_free(plugin); |
199 | return -ENOMEM; | 199 | return -ENOMEM; |
200 | } | 200 | } |
201 | plugin->dst_vmask = bitset_alloc(dst_format->channels); | 201 | plugin->dst_vmask = bitmap_alloc(dst_format->channels); |
202 | if (plugin->dst_vmask == NULL) { | 202 | if (plugin->dst_vmask == NULL) { |
203 | snd_pcm_plugin_free(plugin); | 203 | snd_pcm_plugin_free(plugin); |
204 | return -ENOMEM; | 204 | return -ENOMEM; |
@@ -651,18 +651,18 @@ snd_pcm_sframes_t snd_pcm_plug_client_channels_buf(snd_pcm_plug_t *plug, | |||
651 | } | 651 | } |
652 | 652 | ||
653 | static int snd_pcm_plug_playback_channels_mask(snd_pcm_plug_t *plug, | 653 | static int snd_pcm_plug_playback_channels_mask(snd_pcm_plug_t *plug, |
654 | bitset_t *client_vmask) | 654 | unsigned long *client_vmask) |
655 | { | 655 | { |
656 | snd_pcm_plugin_t *plugin = snd_pcm_plug_last(plug); | 656 | snd_pcm_plugin_t *plugin = snd_pcm_plug_last(plug); |
657 | if (plugin == NULL) { | 657 | if (plugin == NULL) { |
658 | return 0; | 658 | return 0; |
659 | } else { | 659 | } else { |
660 | int schannels = plugin->dst_format.channels; | 660 | int schannels = plugin->dst_format.channels; |
661 | bitset_t bs[bitset_size(schannels)]; | 661 | DECLARE_BITMAP(bs, schannels); |
662 | bitset_t *srcmask; | 662 | unsigned long *srcmask; |
663 | bitset_t *dstmask = bs; | 663 | unsigned long *dstmask = bs; |
664 | int err; | 664 | int err; |
665 | bitset_one(dstmask, schannels); | 665 | bitmap_fill(dstmask, schannels); |
666 | 666 | ||
667 | while (1) { | 667 | while (1) { |
668 | err = plugin->src_channels_mask(plugin, dstmask, &srcmask); | 668 | err = plugin->src_channels_mask(plugin, dstmask, &srcmask); |
@@ -673,7 +673,7 @@ static int snd_pcm_plug_playback_channels_mask(snd_pcm_plug_t *plug, | |||
673 | break; | 673 | break; |
674 | plugin = plugin->prev; | 674 | plugin = plugin->prev; |
675 | } | 675 | } |
676 | bitset_and(client_vmask, dstmask, plugin->src_format.channels); | 676 | bitmap_and(client_vmask, client_vmask, dstmask, plugin->src_format.channels); |
677 | return 0; | 677 | return 0; |
678 | } | 678 | } |
679 | } | 679 | } |
@@ -683,21 +683,21 @@ static int snd_pcm_plug_playback_disable_useless_channels(snd_pcm_plug_t *plug, | |||
683 | { | 683 | { |
684 | snd_pcm_plugin_t *plugin = snd_pcm_plug_first(plug); | 684 | snd_pcm_plugin_t *plugin = snd_pcm_plug_first(plug); |
685 | unsigned int nchannels = plugin->src_format.channels; | 685 | unsigned int nchannels = plugin->src_format.channels; |
686 | bitset_t bs[bitset_size(nchannels)]; | 686 | DECLARE_BITMAP(bs, nchannels); |
687 | bitset_t *srcmask = bs; | 687 | unsigned long *srcmask = bs; |
688 | int err; | 688 | int err; |
689 | unsigned int channel; | 689 | unsigned int channel; |
690 | for (channel = 0; channel < nchannels; channel++) { | 690 | for (channel = 0; channel < nchannels; channel++) { |
691 | if (src_channels[channel].enabled) | 691 | if (src_channels[channel].enabled) |
692 | bitset_set(srcmask, channel); | 692 | set_bit(channel, srcmask); |
693 | else | 693 | else |
694 | bitset_reset(srcmask, channel); | 694 | clear_bit(channel, srcmask); |
695 | } | 695 | } |
696 | err = snd_pcm_plug_playback_channels_mask(plug, srcmask); | 696 | err = snd_pcm_plug_playback_channels_mask(plug, srcmask); |
697 | if (err < 0) | 697 | if (err < 0) |
698 | return err; | 698 | return err; |
699 | for (channel = 0; channel < nchannels; channel++) { | 699 | for (channel = 0; channel < nchannels; channel++) { |
700 | if (!bitset_get(srcmask, channel)) | 700 | if (!test_bit(channel, srcmask)) |
701 | src_channels[channel].enabled = 0; | 701 | src_channels[channel].enabled = 0; |
702 | } | 702 | } |
703 | return 0; | 703 | return 0; |
@@ -709,16 +709,16 @@ static int snd_pcm_plug_capture_disable_useless_channels(snd_pcm_plug_t *plug, | |||
709 | { | 709 | { |
710 | snd_pcm_plugin_t *plugin = snd_pcm_plug_last(plug); | 710 | snd_pcm_plugin_t *plugin = snd_pcm_plug_last(plug); |
711 | unsigned int nchannels = plugin->dst_format.channels; | 711 | unsigned int nchannels = plugin->dst_format.channels; |
712 | bitset_t bs[bitset_size(nchannels)]; | 712 | DECLARE_BITMAP(bs, nchannels); |
713 | bitset_t *dstmask = bs; | 713 | unsigned long *dstmask = bs; |
714 | bitset_t *srcmask; | 714 | unsigned long *srcmask; |
715 | int err; | 715 | int err; |
716 | unsigned int channel; | 716 | unsigned int channel; |
717 | for (channel = 0; channel < nchannels; channel++) { | 717 | for (channel = 0; channel < nchannels; channel++) { |
718 | if (client_channels[channel].enabled) | 718 | if (client_channels[channel].enabled) |
719 | bitset_set(dstmask, channel); | 719 | set_bit(channel, dstmask); |
720 | else | 720 | else |
721 | bitset_reset(dstmask, channel); | 721 | clear_bit(channel, dstmask); |
722 | } | 722 | } |
723 | while (plugin) { | 723 | while (plugin) { |
724 | err = plugin->src_channels_mask(plugin, dstmask, &srcmask); | 724 | err = plugin->src_channels_mask(plugin, dstmask, &srcmask); |
@@ -730,7 +730,7 @@ static int snd_pcm_plug_capture_disable_useless_channels(snd_pcm_plug_t *plug, | |||
730 | plugin = snd_pcm_plug_first(plug); | 730 | plugin = snd_pcm_plug_first(plug); |
731 | nchannels = plugin->src_format.channels; | 731 | nchannels = plugin->src_format.channels; |
732 | for (channel = 0; channel < nchannels; channel++) { | 732 | for (channel = 0; channel < nchannels; channel++) { |
733 | if (!bitset_get(dstmask, channel)) | 733 | if (!test_bit(channel, dstmask)) |
734 | src_channels[channel].enabled = 0; | 734 | src_channels[channel].enabled = 0; |
735 | } | 735 | } |
736 | return 0; | 736 | return 0; |