mirror of
https://github.com/torvalds/linux.git
synced 2024-12-20 10:01:56 +00:00
staging: speakup: soft: remove custom locking macros
Signed-off-by: William Hubbs <w.d.hubbs@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
e6f1838373
commit
89c9df1b79
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user