Commit 89c9df1b authored by William Hubbs's avatar William Hubbs Committed by Greg Kroah-Hartman
Browse files

staging: speakup: soft: remove custom locking macros

parent e6f18383
Loading
Loading
Loading
Loading
+13 −13
Original line number Diff line number Diff line
@@ -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;
}