staging: speakup: synth: remove custom locking macros
authorWilliam Hubbs <w.d.hubbs@gmail.com>
Mon, 13 May 2013 05:03:08 +0000 (00:03 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 16 May 2013 23:14:49 +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/synth.c

index d867dd9109ed614fb2f0c183796aed84a8f0b2e2..1036f47b94643ca56f3b08231622c97bcd714db9 100644 (file)
@@ -83,27 +83,27 @@ void spk_do_catch_up(struct spk_synth *synth)
        full_time = spk_get_var(FULL);
        delay_time = spk_get_var(DELAY);
 
-       spk_lock(flags);
+       spin_lock_irqsave(&speakup_info.spinlock, flags);
        jiffy_delta_val = jiffy_delta->u.n.value;
-       spk_unlock(flags);
+       spin_unlock_irqrestore(&speakup_info.spinlock, flags);
 
        jiff_max = jiffies + jiffy_delta_val;
        while (!kthread_should_stop()) {
-               spk_lock(flags);
+               spin_lock_irqsave(&speakup_info.spinlock, flags);
                if (speakup_info.flushing) {
                        speakup_info.flushing = 0;
-                       spk_unlock(flags);
+                       spin_unlock_irqrestore(&speakup_info.spinlock, flags);
                        synth->flush(synth);
                        continue;
                }
                if (synth_buffer_empty()) {
-                       spk_unlock(flags);
+                       spin_unlock_irqrestore(&speakup_info.spinlock, flags);
                        break;
                }
                ch = synth_buffer_peek();
                set_current_state(TASK_INTERRUPTIBLE);
                full_time_val = full_time->u.n.value;
-               spk_unlock(flags);
+               spin_unlock_irqrestore(&speakup_info.spinlock, flags);
                if (ch == '\n')
                        ch = synth->procspeech;
                if (!spk_serial_out(ch)) {
@@ -111,11 +111,11 @@ void spk_do_catch_up(struct spk_synth *synth)
                        continue;
                }
                if ((jiffies >= jiff_max) && (ch == SPACE)) {
-                       spk_lock(flags);
+                       spin_lock_irqsave(&speakup_info.spinlock, flags);
                        jiffy_delta_val = jiffy_delta->u.n.value;
                        delay_time_val = delay_time->u.n.value;
                        full_time_val = full_time->u.n.value;
-                       spk_unlock(flags);
+                       spin_unlock_irqrestore(&speakup_info.spinlock, flags);
                        if (spk_serial_out(synth->procspeech))
                                schedule_timeout(
                                        msecs_to_jiffies(delay_time_val));
@@ -125,9 +125,9 @@ void spk_do_catch_up(struct spk_synth *synth)
                        jiff_max = jiffies + jiffy_delta_val;
                }
                set_current_state(TASK_RUNNING);
-               spk_lock(flags);
+               spin_lock_irqsave(&speakup_info.spinlock, flags);
                synth_buffer_getc();
-               spk_unlock(flags);
+               spin_unlock_irqrestore(&speakup_info.spinlock, flags);
        }
        spk_serial_out(synth->procspeech);
 }
@@ -403,11 +403,11 @@ void synth_release(void)
 
        if (synth == NULL)
                return;
-       spk_lock(flags);
+       spin_lock_irqsave(&speakup_info.spinlock, flags);
        pr_info("releasing synth %s\n", synth->name);
        synth->alive = 0;
        del_timer(&thread_timer);
-       spk_unlock(flags);
+       spin_unlock_irqrestore(&speakup_info.spinlock, flags);
        if (synth->attributes.name)
                sysfs_remove_group(speakup_kobj, &(synth->attributes));
        for (var = synth->vars; var->var_id != MAXVARS; var++)