]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
staging: speakup: soft: remove custom locking macros
authorWilliam Hubbs <w.d.hubbs@gmail.com>
Mon, 13 May 2013 18:31:39 +0000 (13:31 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 16 May 2013 23:14:48 +0000 (16:14 -0700)
Signed-off-by: William Hubbs <w.d.hubbs@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/speakup/speakup_soft.c

index e2f5c81e75483e82fb0ae84b04cf15238492ae4f..83e08455cd31b6f931a2cdd27523643941e0d815 100644 (file)
@@ -179,23 +179,23 @@ static int softsynth_open(struct inode *inode, struct file *fp)
        unsigned long flags;
        /*if ((fp->f_flags & O_ACCMODE) != O_RDONLY) */
        /*      return -EPERM; */
-       spk_lock(flags);
+       spin_lock_irqsave(&speakup_info.spinlock, flags);
        if (synth_soft.alive) {
-               spk_unlock(flags);
+               spin_unlock_irqrestore(&speakup_info.spinlock, flags);
                return -EBUSY;
        }
        synth_soft.alive = 1;
-       spk_unlock(flags);
+       spin_unlock_irqrestore(&speakup_info.spinlock, flags);
        return 0;
 }
 
 static int softsynth_close(struct inode *inode, struct file *fp)
 {
        unsigned long flags;
-       spk_lock(flags);
+       spin_lock_irqsave(&speakup_info.spinlock, flags);
        synth_soft.alive = 0;
        init_pos = 0;
-       spk_unlock(flags);
+       spin_unlock_irqrestore(&speakup_info.spinlock, flags);
        /* Make sure we let applications go before leaving */
        speakup_start_ttys();
        return 0;
@@ -212,12 +212,12 @@ static ssize_t softsynth_read(struct file *fp, char *buf, size_t count,
        unsigned long flags;
        DEFINE_WAIT(wait);
 
-       spk_lock(flags);
+       spin_lock_irqsave(&speakup_info.spinlock, flags);
        while (1) {
                prepare_to_wait(&speakup_event, &wait, TASK_INTERRUPTIBLE);
                if (!synth_buffer_empty() || speakup_info.flushing)
                        break;
-               spk_unlock(flags);
+               spin_unlock_irqrestore(&speakup_info.spinlock, flags);
                if (fp->f_flags & O_NONBLOCK) {
                        finish_wait(&speakup_event, &wait);
                        return -EAGAIN;
@@ -227,7 +227,7 @@ static ssize_t softsynth_read(struct file *fp, char *buf, size_t count,
                        return -ERESTARTSYS;
                }
                schedule();
-               spk_lock(flags);
+               spin_lock_irqsave(&speakup_info.spinlock, flags);
        }
        finish_wait(&speakup_event, &wait);
 
@@ -244,16 +244,16 @@ static ssize_t softsynth_read(struct file *fp, char *buf, size_t count,
                } else {
                        ch = synth_buffer_getc();
                }
-               spk_unlock(flags);
+               spin_unlock_irqrestore(&speakup_info.spinlock, flags);
                if (copy_to_user(cp, &ch, 1))
                        return -EFAULT;
-               spk_lock(flags);
+               spin_lock_irqsave(&speakup_info.spinlock, flags);
                chars_sent++;
                cp++;
        }
        *pos += chars_sent;
        empty = synth_buffer_empty();
-       spk_unlock(flags);
+       spin_unlock_irqrestore(&speakup_info.spinlock, flags);
        if (empty) {
                speakup_start_ttys();
                *pos = 0;
@@ -285,10 +285,10 @@ static unsigned int softsynth_poll(struct file *fp,
        int ret = 0;
        poll_wait(fp, &speakup_event, wait);
 
-       spk_lock(flags);
+       spin_lock_irqsave(&speakup_info.spinlock, flags);
        if (!synth_buffer_empty() || speakup_info.flushing)
                ret = POLLIN | POLLRDNORM;
-       spk_unlock(flags);
+       spin_unlock_irqrestore(&speakup_info.spinlock, flags);
        return ret;
 }