Commit 667b6141 authored by William Hubbs's avatar William Hubbs Committed by Greg Kroah-Hartman
Browse files

staging: speakup: remove custom locking macro definitions

parent 6697330a
Loading
Loading
Loading
Loading
+0 −12
Original line number Diff line number Diff line
@@ -77,16 +77,4 @@ extern struct speakup_info_t speakup_info;

extern struct var_t synth_time_vars[];

/* Protect the whole speakup machinery, must be taken at each kernel->speakup
 * transition and released at all corresponding speakup->kernel transitions
 * (flags must be the same variable between lock/trylock and unlock).
 *
 * The progression thread only interferes with the speakup machinery through
 * the synth buffer, and so only needs to take the lock while tinkering with
 * it.
 */
/* Speakup needs to disable the keyboard IRQ, hence _irqsave/restore */
#define spk_lock(flags) spin_lock_irqsave(&speakup_info.spinlock, flags)
#define spk_unlock(flags) spin_unlock_irqrestore(&speakup_info.spinlock, flags)

#endif
+12 −0
Original line number Diff line number Diff line
@@ -25,6 +25,18 @@ static int module_status;
bool spk_quiet_boot;

struct speakup_info_t speakup_info = {
	/*
	 * This spinlock is used to protect the entire speakup machinery, and
	 * must be taken at each kernel->speakup transition and released at
	 * each corresponding speakup->kernel transition.
	 *
	 * The progression thread only interferes with the speakup machinery through
	 * the synth buffer, so only needs to take the lock while tinkering with
	 * the buffer.
	 *
	 * We use spin_lock/trylock_irqsave and spin_unlock_irqrestore with this
	 * spinlock because speakup needs to disable the keyboard IRQ.
	 */
	.spinlock = __SPIN_LOCK_UNLOCKED(speakup_info.spinlock),
	.flushing = 0,
};