fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / include / sound / rawmidi.h
index d19bddf..7dbcd10 100644 (file)
@@ -26,7 +26,7 @@
 #include <linux/interrupt.h>
 #include <linux/spinlock.h>
 #include <linux/wait.h>
-#include <asm/semaphore.h>
+#include <linux/mutex.h>
 
 #if defined(CONFIG_SND_SEQUENCER) || defined(CONFIG_SND_SEQUENCER_MODULE)
 #include "seq_device.h"
@@ -46,6 +46,7 @@
 
 struct snd_rawmidi;
 struct snd_rawmidi_substream;
+struct snd_seq_port_info;
 
 struct snd_rawmidi_ops {
        int (*open) (struct snd_rawmidi_substream * substream);
@@ -57,6 +58,8 @@ struct snd_rawmidi_ops {
 struct snd_rawmidi_global_ops {
        int (*dev_register) (struct snd_rawmidi * rmidi);
        int (*dev_unregister) (struct snd_rawmidi * rmidi);
+       void (*get_port_info)(struct snd_rawmidi *rmidi, int number,
+                             struct snd_seq_port_info *info);
 };
 
 struct snd_rawmidi_runtime {
@@ -130,7 +133,7 @@ struct snd_rawmidi {
        void *private_data;
        void (*private_free) (struct snd_rawmidi *rmidi);
 
-       struct semaphore open_mutex;
+       struct mutex open_mutex;
        wait_queue_head_t open_wait;
 
        struct snd_info_entry *dev;