aboutsummaryrefslogtreecommitdiffstats
path: root/sound/usb/usbmidi.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2006-03-22 13:59:20 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-03-22 13:59:20 -0500
commit1c2e02750b992703a8a18634e08b04353face243 (patch)
tree5dc2d10bad329eeb73b9e219e237662a8383f971 /sound/usb/usbmidi.c
parent8b4b6707ee32f929846d947d18b1b9bf42e988aa (diff)
parenta3c44854a59f7e983c867060aa906bbf5befb1ef (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/perex/alsa
* git://git.kernel.org/pub/scm/linux/kernel/git/perex/alsa: (124 commits) [ALSA] version 1.0.11rc4 [PATCH] Intruduce DMA_28BIT_MASK [ALSA] hda-codec - Add support for ASUS P4GPL-X [ALSA] hda-codec - Add support for HP nx9420 laptop [ALSA] Fix memory leaks in error path of control.c [ALSA] AMD Au1x00: AC'97 controller is memory mapped [ALSA] AMD Au1x00: fix DMA init/cleanup [ALSA] hda-codec - Fix generic auto-configurator [ALSA] hda-codec - Fix BIOS auto-configuration [ALSA] Fixes typos in Audiophile-USB.txt [ALSA] ice1712 - typo fixes for dxr_enable module option [ALSA] AMD Au1x00: make driver build after cleanup [ALSA] ice1712 - Fix wrong value types for enum items [ALSA] fix resource leak in usbmixer [ALSA] Fix gus_pcm dereference before NULL [ALSA] Fix seq_clientmgr dereferences before NULL check [ALSA] hda-codec - Fix for Samsung R65 and ASUS A6J [ALSA] hda-codec - Add support for VAIO FE550G and SZ110 [ALSA] usb-audio: add Maya44 mixer control names [ALSA] usb-audio: add Casio PL-40R support ...
Diffstat (limited to 'sound/usb/usbmidi.c')
-rw-r--r--sound/usb/usbmidi.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/sound/usb/usbmidi.c b/sound/usb/usbmidi.c
index f15b021c3ce8..2b9d940c8064 100644
--- a/sound/usb/usbmidi.c
+++ b/sound/usb/usbmidi.c
@@ -871,10 +871,10 @@ static int snd_usbmidi_in_endpoint_create(struct snd_usb_midi* umidi,
871 871
872static unsigned int snd_usbmidi_count_bits(unsigned int x) 872static unsigned int snd_usbmidi_count_bits(unsigned int x)
873{ 873{
874 unsigned int bits = 0; 874 unsigned int bits;
875 875
876 for (; x; x >>= 1) 876 for (bits = 0; x; ++bits)
877 bits += x & 1; 877 x &= x - 1;
878 return bits; 878 return bits;
879} 879}
880 880
@@ -1082,6 +1082,8 @@ static struct {
1082 { USB_ID(0x0582, 0x004d), 0, "%s MIDI" }, 1082 { USB_ID(0x0582, 0x004d), 0, "%s MIDI" },
1083 { USB_ID(0x0582, 0x004d), 1, "%s 1" }, 1083 { USB_ID(0x0582, 0x004d), 1, "%s 1" },
1084 { USB_ID(0x0582, 0x004d), 2, "%s 2" }, 1084 { USB_ID(0x0582, 0x004d), 2, "%s 2" },
1085 /* Edirol UM-3EX */
1086 { USB_ID(0x0582, 0x009a), 3, "%s Control" },
1085 /* M-Audio MidiSport 8x8 */ 1087 /* M-Audio MidiSport 8x8 */
1086 { USB_ID(0x0763, 0x1031), 8, "%s Control" }, 1088 { USB_ID(0x0763, 0x1031), 8, "%s Control" },
1087 { USB_ID(0x0763, 0x1033), 8, "%s Control" }, 1089 { USB_ID(0x0763, 0x1033), 8, "%s Control" },
@@ -1574,7 +1576,7 @@ int snd_usb_create_midi_interface(struct snd_usb_audio* chip,
1574 sizeof(struct snd_usb_midi_endpoint_info)); 1576 sizeof(struct snd_usb_midi_endpoint_info));
1575 err = snd_usbmidi_detect_endpoints(umidi, &endpoints[0], 1); 1577 err = snd_usbmidi_detect_endpoints(umidi, &endpoints[0], 1);
1576 break; 1578 break;
1577 case QUIRK_MIDI_MIDITECH: 1579 case QUIRK_MIDI_CME:
1578 err = snd_usbmidi_detect_per_port_endpoints(umidi, endpoints); 1580 err = snd_usbmidi_detect_per_port_endpoints(umidi, endpoints);
1579 break; 1581 break;
1580 default: 1582 default: