Lines Matching defs:motu

3  * motu-hwdep.c - a part of driver for MOTU FireWire series
17 #include "motu.h"
22 struct snd_motu *motu = hwdep->private_data;
26 spin_lock_irq(&motu->lock);
28 while (!motu->dev_lock_changed && motu->msg == 0) {
29 prepare_to_wait(&motu->hwdep_wait, &wait, TASK_INTERRUPTIBLE);
30 spin_unlock_irq(&motu->lock);
32 finish_wait(&motu->hwdep_wait, &wait);
35 spin_lock_irq(&motu->lock);
39 if (motu->dev_lock_changed) {
41 event.lock_status.status = (motu->dev_lock_count > 0);
42 motu->dev_lock_changed = false;
47 event.motu_notification.message = motu->msg;
48 motu->msg = 0;
53 spin_unlock_irq(&motu->lock);
64 struct snd_motu *motu = hwdep->private_data;
67 poll_wait(file, &motu->hwdep_wait, wait);
69 spin_lock_irq(&motu->lock);
70 if (motu->dev_lock_changed || motu->msg)
74 spin_unlock_irq(&motu->lock);
79 static int hwdep_get_info(struct snd_motu *motu, void __user *arg)
81 struct fw_device *dev = fw_parent_device(motu->unit);
98 static int hwdep_lock(struct snd_motu *motu)
102 spin_lock_irq(&motu->lock);
104 if (motu->dev_lock_count == 0) {
105 motu->dev_lock_count = -1;
111 spin_unlock_irq(&motu->lock);
116 static int hwdep_unlock(struct snd_motu *motu)
120 spin_lock_irq(&motu->lock);
122 if (motu->dev_lock_count == -1) {
123 motu->dev_lock_count = 0;
129 spin_unlock_irq(&motu->lock);
136 struct snd_motu *motu = hwdep->private_data;
138 spin_lock_irq(&motu->lock);
139 if (motu->dev_lock_count == -1)
140 motu->dev_lock_count = 0;
141 spin_unlock_irq(&motu->lock);
149 struct snd_motu *motu = hwdep->private_data;
153 return hwdep_get_info(motu, (void __user *)arg);
155 return hwdep_lock(motu);
157 return hwdep_unlock(motu);
174 int snd_motu_create_hwdep_device(struct snd_motu *motu)
186 err = snd_hwdep_new(motu->card, motu->card->driver, 0, &hwdep);
193 hwdep->private_data = motu;