ALSA: sound: usbmidi: Use hweight16
authorAkinobu Mita <akinobu.mita@gmail.com>
Fri, 20 Nov 2009 05:56:52 +0000 (14:56 +0900)
committerTakashi Iwai <tiwai@suse.de>
Fri, 20 Nov 2009 07:46:26 +0000 (08:46 +0100)
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>
sound/usb/usbmidi.c

index 0eff19c..e5b0689 100644 (file)
@@ -1062,15 +1062,6 @@ static int snd_usbmidi_in_endpoint_create(struct snd_usb_midi* umidi,
        return 0;
 }
 
-static unsigned int snd_usbmidi_count_bits(unsigned int x)
-{
-       unsigned int bits;
-
-       for (bits = 0; x; ++bits)
-               x &= x - 1;
-       return bits;
-}
-
 /*
  * Frees an output endpoint.
  * 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,
        out_ports = 0;
        in_ports = 0;
        for (i = 0; i < MIDI_MAX_ENDPOINTS; ++i) {
-               out_ports += snd_usbmidi_count_bits(endpoints[i].out_cables);
-               in_ports += snd_usbmidi_count_bits(endpoints[i].in_cables);
+               out_ports += hweight16(endpoints[i].out_cables);
+               in_ports += hweight16(endpoints[i].in_cables);
        }
        err = snd_usbmidi_create_rawmidi(umidi, out_ports, in_ports);
        if (err < 0) {