Merge tag 'sound-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai...
[sfrench/cifs-2.6.git] / sound / pci / mixart / mixart.h
index 3e84863ca02ccc30fbf29d0880876d8e38ee405d..0cc17e0ea34a4d19b3558ff18b2120b84e659490 100644 (file)
@@ -24,6 +24,7 @@
 #define __SOUND_MIXART_H
 
 #include <linux/interrupt.h>
+#include <linux/mutex.h>
 #include <sound/pcm.h>
 
 #define MIXART_DRIVER_VERSION  0x000100        /* 0.1.0 */
@@ -77,24 +78,20 @@ struct mixart_mgr {
        char shortname[32];         /* short name of this soundcard */
        char longname[80];          /* name of this soundcard */
 
-       /* message tasklet */
-       struct tasklet_struct msg_taskq;
-
        /* one and only blocking message or notification may be pending  */
        u32 pending_event;
        wait_queue_head_t msg_sleep;
 
-       /* messages stored for tasklet */
+       /* messages fifo */
        u32 msg_fifo[MSG_FIFO_SIZE];
        int msg_fifo_readptr;
        int msg_fifo_writeptr;
        atomic_t msg_processed;       /* number of messages to be processed in takslet */
 
-       spinlock_t lock;              /* interrupt spinlock */
-       spinlock_t msg_lock;          /* mailbox spinlock */
-       struct semaphore msg_mutex;   /* mutex for blocking_requests */
+       struct mutex lock;              /* interrupt lock */
+       struct mutex msg_lock;          /* mailbox lock */
 
-       struct semaphore setup_mutex; /* mutex used in hw_params, open and close */
+       struct mutex setup_mutex; /* mutex used in hw_params, open and close */
 
        /* hardware interface */
        unsigned int dsp_loaded;      /* bit flags of loaded dsp indices */
@@ -107,7 +104,7 @@ struct mixart_mgr {
        int sample_rate;
        int ref_count_rate;
 
-       struct semaphore mixer_mutex; /* mutex for mixer */
+       struct mutex mixer_mutex; /* mutex for mixer */
 
 };