diff options
Diffstat (limited to 'sound/usb')
-rw-r--r-- | sound/usb/usbmidi.c | 13 |
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 | ||
1065 | static 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) { |