staging: speakup: apollo: remove custom locking macros
authorWilliam Hubbs <w.d.hubbs@gmail.com>
Mon, 13 May 2013 05:03:00 +0000 (00:03 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 16 May 2013 23:11:09 +0000 (16:11 -0700)
Signed-off-by: William Hubbs <w.d.hubbs@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/speakup/speakup_apollo.c

index 3e450ccbda6634a0ec7fc0bb09bdcbb59a0e7188..95d3132f0a35717a2451070f140f2e237260f1bf 100644 (file)
@@ -148,30 +148,30 @@ static void do_catch_up(struct spk_synth *synth)
        jiffy_delta = spk_get_var(JIFFY);
        delay_time = spk_get_var(DELAY);
        full_time = spk_get_var(FULL);
-       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);
                jiffy_delta_val = jiffy_delta->u.n.value;
                full_time_val = full_time->u.n.value;
                delay_time_val = delay_time->u.n.value;
                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 (!spk_serial_out(ch)) {
                        outb(UART_MCR_DTR, speakup_info.port_tts + UART_MCR);
                        outb(UART_MCR_DTR | UART_MCR_RTS,
@@ -180,11 +180,11 @@ static void 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;
                        full_time_val = full_time->u.n.value;
                        delay_time_val = delay_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));
@@ -194,9 +194,9 @@ static void 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(PROCSPEECH);
 }