aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAkinobu Mita <akinobu.mita@gmail.com>2009-11-20 00:56:52 -0500
committerTakashi Iwai <tiwai@suse.de>2009-11-20 02:46:26 -0500
commitfbc543915ffb8ec5c35403f294ab799f1936f42a (patch)
tree0ac4e394855c6105ab5ecfda66ed3ef01af3aa2f
parentd867bba94513cf149cb8462a6e006848acb91d38 (diff)
ALSA: sound: usbmidi: Use hweight16
Use hweight16 instead of Brian Kernighan's/Peter Wegner's method Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/usb/usbmidi.c13
1 files changed, 2 insertions, 11 deletions
diff --git a/sound/usb/usbmidi.c b/sound/usb/usbmidi.c
index 0eff19ceb7e1..e5b068996371 100644
--- a/sound/usb/usbmidi.c
+++ b/sound/usb/usbmidi.c
@@ -1062,15 +1062,6 @@ static int snd_usbmidi_in_endpoint_create(struct snd_usb_midi* umidi,
1062 return 0; 1062 return 0;
1063} 1063}
1064 1064
1065static unsigned int snd_usbmidi_count_bits(unsigned int x)
1066{
1067 unsigned int bits;
1068
1069 for (bits = 0; x; ++bits)
1070 x &= x - 1;
1071 return bits;
1072}
1073
1074/* 1065/*
1075 * Frees an output endpoint. 1066 * Frees an output endpoint.
1076 * May be called when ep hasn't been initialized completely. 1067 * May be called when ep hasn't been initialized completely.
@@ -1914,8 +1905,8 @@ int snd_usb_create_midi_interface(struct snd_usb_audio* chip,
1914 out_ports = 0; 1905 out_ports = 0;
1915 in_ports = 0; 1906 in_ports = 0;
1916 for (i = 0; i < MIDI_MAX_ENDPOINTS; ++i) { 1907 for (i = 0; i < MIDI_MAX_ENDPOINTS; ++i) {
1917 out_ports += snd_usbmidi_count_bits(endpoints[i].out_cables); 1908 out_ports += hweight16(endpoints[i].out_cables);
1918 in_ports += snd_usbmidi_count_bits(endpoints[i].in_cables); 1909 in_ports += hweight16(endpoints[i].in_cables);
1919 } 1910 }
1920 err = snd_usbmidi_create_rawmidi(umidi, out_ports, in_ports); 1911 err = snd_usbmidi_create_rawmidi(umidi, out_ports, in_ports);
1921 if (err < 0) { 1912 if (err < 0) {