Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 220344
b: refs/heads/master
c: 3d4f7ea
h: refs/heads/master
v: v3
  • Loading branch information
Christopher Brannon authored and Greg Kroah-Hartman committed Oct 15, 2010
1 parent 0ed4cb8 commit 14983d4
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 14 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 64d1e5a0986e612307138db8db1dc2db9bf919f8
refs/heads/master: 3d4f7eaf6526f82e61b090792d5c28c0eabd2175
37 changes: 24 additions & 13 deletions trunk/drivers/staging/speakup/speakup_decext.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,24 +35,34 @@
#define SYNTH_CLEAR 0x03
#define PROCSPEECH 0x0b
static unsigned char last_char;
#define get_last_char() ((inb_p(speakup_info.port_tts + UART_LSR) & UART_LSR_DR)? \
(last_char = inb_p(speakup_info.port_tts + UART_RX)) : last_char)
#define synth_full() (get_last_char() == 0x13)

static inline u_char get_last_char(void)
{
u_char avail = inb_p(speakup_info.port_tts + UART_LSR) & UART_LSR_DR;
if (avail)
last_char = inb_p(speakup_info.port_tts + UART_RX);
return last_char;
}

static inline bool synth_full(void)
{
return get_last_char() == 0x13;
}

static void do_catch_up(struct spk_synth *synth);
static void synth_flush(struct spk_synth *synth);

static int in_escape;

static struct var_t vars[] = {
{ CAPS_START, .u.s = {"[:dv ap 222]" }},
{ CAPS_STOP, .u.s = {"[:dv ap 100]" }},
{ RATE, .u.n = {"[:ra %d]", 7, 0, 9, 150, 25, NULL }},
{ PITCH, .u.n = {"[:dv ap %d]", 100, 0, 100, 0, 0, NULL }},
{ VOL, .u.n = {"[:dv gv %d]", 13, 0, 16, 0, 5, NULL }},
{ PUNCT, .u.n = {"[:pu %c]", 0, 0, 2, 0, 0, "nsa" }},
{ VOICE, .u.n = {"[:n%c]", 0, 0, 9, 0, 0, "phfdburwkv" }},
{ DIRECT, .u.n = {NULL, 0, 0, 1, 0, 0, NULL }},
{ CAPS_START, .u.s = {"[:dv ap 222]" } },
{ CAPS_STOP, .u.s = {"[:dv ap 100]" } },
{ RATE, .u.n = {"[:ra %d]", 7, 0, 9, 150, 25, NULL } },
{ PITCH, .u.n = {"[:dv ap %d]", 100, 0, 100, 0, 0, NULL } },
{ VOL, .u.n = {"[:dv gv %d]", 13, 0, 16, 0, 5, NULL } },
{ PUNCT, .u.n = {"[:pu %c]", 0, 0, 2, 0, 0, "nsa" } },
{ VOICE, .u.n = {"[:n%c]", 0, 0, 9, 0, 0, "phfdburwkv" } },
{ DIRECT, .u.n = {NULL, 0, 0, 1, 0, 0, NULL } },
V_LAST_VAR
};

Expand Down Expand Up @@ -194,13 +204,14 @@ static void do_catch_up(struct spk_synth *synth)
if (!in_escape && strchr(",.!?;:", last))
spk_serial_out(PROCSPEECH);
if (jiffies >= jiff_max) {
if ( ! in_escape )
if (!in_escape)
spk_serial_out(PROCSPEECH);
spk_lock(flags);
jiffy_delta_val = jiffy_delta->u.n.value;
delay_time_val = delay_time->u.n.value;
spk_unlock(flags);
schedule_timeout(msecs_to_jiffies(delay_time_val));
schedule_timeout(msecs_to_jiffies
(delay_time_val));
jiff_max = jiffies + jiffy_delta_val;
}
}
Expand Down

0 comments on commit 14983d4

Please sign in to comment.