]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - sound/pci/mixart/mixart_core.c
ALSA: Kill snd_assert() in sound/pci/*
[linux-2.6-omap-h63xx.git] / sound / pci / mixart / mixart_core.c
index 07c707d7ebbfee43922ce0ce458a78d65c4899ff..b9a06c2793970d4d13a29e6c2ca3f9a4cae7faa4 100644 (file)
@@ -20,8 +20,9 @@
  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
  */
 
-#include <sound/driver.h>
 #include <linux/interrupt.h>
+#include <linux/mutex.h>
+
 #include <asm/io.h>
 #include <sound/core.h>
 #include "mixart.h"
@@ -55,8 +56,10 @@ static int retrieve_msg_frame(struct mixart_mgr *mgr, u32 *msg_frame)
        if (tailptr == headptr)
                return 0; /* no message posted */
 
-       snd_assert( tailptr >= MSG_OUTBOUND_POST_STACK, return 0); /* error */
-       snd_assert( tailptr < (MSG_OUTBOUND_POST_STACK+MSG_BOUND_STACK_SIZE), return 0); /* error */
+       if (tailptr < MSG_OUTBOUND_POST_STACK)
+               return 0; /* error */
+       if (tailptr >= MSG_OUTBOUND_POST_STACK + MSG_BOUND_STACK_SIZE)
+               return 0; /* error */
 
        *msg_frame = readl_be(MIXART_MEM(mgr, tailptr));
 
@@ -148,7 +151,8 @@ static int send_msg( struct mixart_mgr *mgr,
        u32 msg_frame_address;
        int err, i;
 
-       snd_assert(msg->size % 4 == 0, return -EINVAL);
+       if (snd_BUG_ON(msg->size % 4))
+               return -EINVAL;
 
        err = 0;
 
@@ -239,7 +243,7 @@ int snd_mixart_send_msg(struct mixart_mgr *mgr, struct mixart_msg *request, int
        wait_queue_t wait;
        long timeout;
 
-       down(&mgr->msg_mutex);
+       mutex_lock(&mgr->msg_mutex);
 
        init_waitqueue_entry(&wait, current);
 
@@ -248,7 +252,7 @@ int snd_mixart_send_msg(struct mixart_mgr *mgr, struct mixart_msg *request, int
        err = send_msg(mgr, request, max_resp_size, 1, &msg_frame);  /* send and mark the answer pending */
        if (err) {
                spin_unlock_irq(&mgr->msg_lock);
-               up(&mgr->msg_mutex);
+               mutex_unlock(&mgr->msg_mutex);
                return err;
        }
 
@@ -260,7 +264,7 @@ int snd_mixart_send_msg(struct mixart_mgr *mgr, struct mixart_msg *request, int
 
        if (! timeout) {
                /* error - no ack */
-               up(&mgr->msg_mutex);
+               mutex_unlock(&mgr->msg_mutex);
                snd_printk(KERN_ERR "error: no reponse on msg %x\n", msg_frame);
                return -EIO;
        }
@@ -276,7 +280,7 @@ int snd_mixart_send_msg(struct mixart_mgr *mgr, struct mixart_msg *request, int
        if( request->message_id != resp.message_id )
                snd_printk(KERN_ERR "REPONSE ERROR!\n");
 
-       up(&mgr->msg_mutex);
+       mutex_unlock(&mgr->msg_mutex);
        return err;
 }
 
@@ -288,11 +292,14 @@ int snd_mixart_send_msg_wait_notif(struct mixart_mgr *mgr,
        wait_queue_t wait;
        long timeout;
 
-       snd_assert(notif_event != 0, return -EINVAL);
-       snd_assert((notif_event & MSG_TYPE_MASK) == MSG_TYPE_NOTIFY, return -EINVAL);
-       snd_assert((notif_event & MSG_CANCEL_NOTIFY_MASK) == 0, return -EINVAL);
+       if (snd_BUG_ON(!notif_event))
+               return -EINVAL;
+       if (snd_BUG_ON((notif_event & MSG_TYPE_MASK) != MSG_TYPE_NOTIFY))
+               return -EINVAL;
+       if (snd_BUG_ON(notif_event & MSG_CANCEL_NOTIFY_MASK))
+               return -EINVAL;
 
-       down(&mgr->msg_mutex);
+       mutex_lock(&mgr->msg_mutex);
 
        init_waitqueue_entry(&wait, current);
 
@@ -301,7 +308,7 @@ int snd_mixart_send_msg_wait_notif(struct mixart_mgr *mgr,
        err = send_msg(mgr, request, MSG_DEFAULT_SIZE, 1, &notif_event);  /* send and mark the notification event pending */
        if(err) {
                spin_unlock_irq(&mgr->msg_lock);
-               up(&mgr->msg_mutex);
+               mutex_unlock(&mgr->msg_mutex);
                return err;
        }
 
@@ -313,12 +320,12 @@ int snd_mixart_send_msg_wait_notif(struct mixart_mgr *mgr,
 
        if (! timeout) {
                /* error - no ack */
-               up(&mgr->msg_mutex);
+               mutex_unlock(&mgr->msg_mutex);
                snd_printk(KERN_ERR "error: notification %x not received\n", notif_event);
                return -EIO;
        }
 
-       up(&mgr->msg_mutex);
+       mutex_unlock(&mgr->msg_mutex);
        return 0;
 }
 
@@ -406,7 +413,7 @@ void snd_mixart_msg_tasklet(unsigned long arg)
 }
 
 
-irqreturn_t snd_mixart_interrupt(int irq, void *dev_id, struct pt_regs *regs)
+irqreturn_t snd_mixart_interrupt(int irq, void *dev_id)
 {
        struct mixart_mgr *mgr = dev_id;
        int err;