static unsigned int snd_usbmidi_count_bits(unsigned int x)
{
- unsigned int bits = 0;
+ unsigned int bits;
- for (; x; x >>= 1)
- bits += x & 1;
+ for (bits = 0; x; ++bits)
+ x &= x - 1;
return bits;
}
{ USB_ID(0x0582, 0x004d), 0, "%s MIDI" },
{ USB_ID(0x0582, 0x004d), 1, "%s 1" },
{ USB_ID(0x0582, 0x004d), 2, "%s 2" },
+ /* Edirol UM-3EX */
+ { USB_ID(0x0582, 0x009a), 3, "%s Control" },
/* M-Audio MidiSport 8x8 */
{ USB_ID(0x0763, 0x1031), 8, "%s Control" },
{ USB_ID(0x0763, 0x1033), 8, "%s Control" },
{ USB_ID(0x086a, 0x0001), 8, "%s Broadcast" },
{ USB_ID(0x086a, 0x0002), 8, "%s Broadcast" },
{ USB_ID(0x086a, 0x0003), 4, "%s Broadcast" },
- /* Edirol UM-3ex */
- { USB_ID(0x0582, 0x009a), 3, "%s Control" },
};
static void snd_usbmidi_init_substream(struct snd_usb_midi* umidi,
sizeof(struct snd_usb_midi_endpoint_info));
err = snd_usbmidi_detect_endpoints(umidi, &endpoints[0], 1);
break;
- case QUIRK_MIDI_MIDITECH:
+ case QUIRK_MIDI_CME:
err = snd_usbmidi_detect_per_port_endpoints(umidi, endpoints);
break;
default: