Lines Matching refs:synth
22 struct spk_synth *synth; variable
54 static void _spk_do_catch_up(struct spk_synth *synth, int unicode) in _spk_do_catch_up() argument
81 synth->flush(synth); in _spk_do_catch_up()
95 ch = synth->procspeech; in _spk_do_catch_up()
97 ret = synth->io_ops->synth_out_unicode(synth, ch); in _spk_do_catch_up()
99 ret = synth->io_ops->synth_out(synth, ch); in _spk_do_catch_up()
110 if (synth->io_ops->synth_out(synth, synth->procspeech)) in _spk_do_catch_up()
123 synth->io_ops->synth_out(synth, synth->procspeech); in _spk_do_catch_up()
126 void spk_do_catch_up(struct spk_synth *synth) in spk_do_catch_up() argument
128 _spk_do_catch_up(synth, 0); in spk_do_catch_up()
132 void spk_do_catch_up_unicode(struct spk_synth *synth) in spk_do_catch_up_unicode() argument
134 _spk_do_catch_up(synth, 1); in spk_do_catch_up_unicode()
138 void spk_synth_flush(struct spk_synth *synth) in spk_synth_flush() argument
140 synth->io_ops->flush_buffer(synth); in spk_synth_flush()
141 synth->io_ops->synth_out(synth, synth->clear); in spk_synth_flush()
145 unsigned char spk_synth_get_index(struct spk_synth *synth) in spk_synth_get_index() argument
147 return synth->io_ops->synth_in_nowait(synth); in spk_synth_get_index()
151 int spk_synth_is_alive_nop(struct spk_synth *synth) in spk_synth_is_alive_nop() argument
153 synth->alive = 1; in spk_synth_is_alive_nop()
158 int spk_synth_is_alive_restart(struct spk_synth *synth) in spk_synth_is_alive_restart() argument
160 if (synth->alive) in spk_synth_is_alive_restart()
162 if (synth->io_ops->wait_for_xmitr(synth) > 0) { in spk_synth_is_alive_restart()
164 synth->alive = 1; in spk_synth_is_alive_restart()
165 synth_printf("%s", synth->init); in spk_synth_is_alive_restart()
168 pr_warn("%s: can't restart synth\n", synth->long_name); in spk_synth_is_alive_restart()
184 if (!synth->alive) { in synth_start()
196 if (!synth) in spk_do_flush()
201 if (synth->alive) { in spk_do_flush()
276 synth->get_index(synth); in spk_reset_index_count()
283 if (synth->get_index) in synth_supports_indexing()
292 if (synth->alive) { in synth_insert_next_index()
294 synth->indexing.currindex++; in synth_insert_next_index()
296 if (synth->indexing.currindex > in synth_insert_next_index()
297 synth->indexing.highindex) in synth_insert_next_index()
298 synth->indexing.currindex = in synth_insert_next_index()
299 synth->indexing.lowindex; in synth_insert_next_index()
302 out = synth->indexing.currindex * 10 + sent_num; in synth_insert_next_index()
303 synth_printf(synth->indexing.command, out, out); in synth_insert_next_index()
309 int ind = synth->get_index(synth); in spk_get_index_count()
314 if ((ind / 10) <= synth->indexing.currindex) in spk_get_index_count()
315 index_count = synth->indexing.currindex - (ind / 10); in spk_get_index_count()
317 index_count = synth->indexing.currindex in spk_get_index_count()
318 - synth->indexing.lowindex in spk_get_index_count()
319 + synth->indexing.highindex - (ind / 10) + 1; in spk_get_index_count()
332 synth_res.name = synth->name; in synth_request_region()
359 struct spk_synth *tmp, *synth = NULL; in synth_init() local
375 synth = tmp; in synth_init()
379 if (synth) in synth_init()
380 ret = do_synth_init(synth); in synth_init()
396 synth = in_synth; in do_synth_init()
397 synth->alive = 0; in do_synth_init()
399 if (synth->probe(synth) < 0) { in do_synth_init()
401 synth = NULL; in do_synth_init()
405 synth_time_vars[0].u.n.default_val = synth->delay; in do_synth_init()
407 synth_time_vars[1].u.n.default_val = synth->trigger; in do_synth_init()
409 synth_time_vars[2].u.n.default_val = synth->jiffies; in do_synth_init()
411 synth_time_vars[3].u.n.default_val = synth->full; in do_synth_init()
413 synth_time_vars[4].u.n.default_val = synth->flush_time; in do_synth_init()
414 synth_printf("%s", synth->init); in do_synth_init()
415 for (var = synth->vars; in do_synth_init()
419 synth_printf("%s found\n", synth->long_name); in do_synth_init()
420 if (synth->attributes.name && in do_synth_init()
421 sysfs_create_group(speakup_kobj, &synth->attributes) < 0) in do_synth_init()
423 synth_flags = synth->flags; in do_synth_init()
435 if (!synth) in synth_release()
438 pr_info("releasing synth %s\n", synth->name); in synth_release()
439 synth->alive = 0; in synth_release()
442 if (synth->attributes.name) in synth_release()
443 sysfs_remove_group(speakup_kobj, &synth->attributes); in synth_release()
444 for (var = synth->vars; var->var_id != MAXVARS; var++) in synth_release()
446 synth->release(synth); in synth_release()
447 synth = NULL; in synth_release()
479 if (synth == in_synth) in synth_remove()
489 return synth; in synth_current()