Signed-off-by: William Hubbs <w.d.hubbs@xxxxxxxxx> --- drivers/staging/speakup/spk_priv.h | 12 ------------ drivers/staging/speakup/synth.c | 12 ++++++++++++ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/drivers/staging/speakup/spk_priv.h b/drivers/staging/speakup/spk_priv.h index 141125c..637ba67 100644 --- a/drivers/staging/speakup/spk_priv.h +++ b/drivers/staging/speakup/spk_priv.h @@ -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 diff --git a/drivers/staging/speakup/synth.c b/drivers/staging/speakup/synth.c index 1036f47..e2d84c0 100644 --- a/drivers/staging/speakup/synth.c +++ b/drivers/staging/speakup/synth.c @@ -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, }; -- 1.8.1.5 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel