[patch 4/7] staging: speakup: move spk_stop_serial_interrupt into synth-specific release function
Samuel Thibault
samuel.thibault at ens-lyon.org
Sat Mar 11 21:13:20 EST 2017
okash.khawaja at gmail.com, on sam. 11 mars 2017 13:05:28 +0000, wrote:
> This moves call to spk_stop_serial_interrupt() function out of synth_release()
> and into release() method of specific spk_synth instances. This is because
> a TTY-based synth implementation wouldn't need spk_stop_serial_interrupt()
> call. Moving it into each synth's release() method gives the decision of
> calling spk_stop_serial_interrupt() to that synth. TTY-based synths which
> follow in this patchset simply wouldn't call it.
>
> Signed-off-by: Okash Khawaja <okash.khawaja at gmail.com>
Reviewed-by: Samuel Thibault <samuel.thibault at ens-lyon.org>
> Index: linux-4.10.1/drivers/staging/speakup/serialio.c
> ===================================================================
> --- linux-4.10.1.orig/drivers/staging/speakup/serialio.c
> +++ linux-4.10.1/drivers/staging/speakup/serialio.c
> @@ -158,6 +158,7 @@
> /* Free IRQ */
> free_irq(serstate->irq, (void *)synth_readbuf_handler);
> }
> +EXPORT_SYMBOL_GPL(spk_stop_serial_interrupt);
>
> int spk_wait_for_xmitr(struct spk_synth *in_synth)
> {
> @@ -224,6 +225,7 @@
>
> void spk_serial_release(void)
> {
> + spk_stop_serial_interrupt();
> if (speakup_info.port_tts == 0)
> return;
> synth_release_region(speakup_info.port_tts, 8);
> Index: linux-4.10.1/drivers/staging/speakup/speakup_acntpc.c
> ===================================================================
> --- linux-4.10.1.orig/drivers/staging/speakup/speakup_acntpc.c
> +++ linux-4.10.1/drivers/staging/speakup/speakup_acntpc.c
> @@ -304,6 +304,7 @@
>
> static void accent_release(void)
> {
> + spk_stop_serial_interrupt();
> if (speakup_info.port_tts)
> synth_release_region(speakup_info.port_tts-1, SYNTH_IO_EXTENT);
> speakup_info.port_tts = 0;
> Index: linux-4.10.1/drivers/staging/speakup/synth.c
> ===================================================================
> --- linux-4.10.1.orig/drivers/staging/speakup/synth.c
> +++ linux-4.10.1/drivers/staging/speakup/synth.c
> @@ -462,7 +462,6 @@
> sysfs_remove_group(speakup_kobj, &synth->attributes);
> for (var = synth->vars; var->var_id != MAXVARS; var++)
> speakup_unregister_var(var->var_id);
> - spk_stop_serial_interrupt();
> synth->release();
> synth = NULL;
> }
> Index: linux-4.10.1/drivers/staging/speakup/speakup_decpc.c
> ===================================================================
> --- linux-4.10.1.orig/drivers/staging/speakup/speakup_decpc.c
> +++ linux-4.10.1/drivers/staging/speakup/speakup_decpc.c
> @@ -483,6 +483,7 @@
>
> static void dtpc_release(void)
> {
> + spk_stop_serial_interrupt();
> if (speakup_info.port_tts)
> synth_release_region(speakup_info.port_tts, SYNTH_IO_EXTENT);
> speakup_info.port_tts = 0;
> Index: linux-4.10.1/drivers/staging/speakup/speakup_dtlk.c
> ===================================================================
> --- linux-4.10.1.orig/drivers/staging/speakup/speakup_dtlk.c
> +++ linux-4.10.1/drivers/staging/speakup/speakup_dtlk.c
> @@ -375,6 +375,7 @@
>
> static void dtlk_release(void)
> {
> + spk_stop_serial_interrupt();
> if (speakup_info.port_tts)
> synth_release_region(speakup_info.port_tts-1, SYNTH_IO_EXTENT);
> speakup_info.port_tts = 0;
> Index: linux-4.10.1/drivers/staging/speakup/speakup_keypc.c
> ===================================================================
> --- linux-4.10.1.orig/drivers/staging/speakup/speakup_keypc.c
> +++ linux-4.10.1/drivers/staging/speakup/speakup_keypc.c
> @@ -306,6 +306,7 @@
>
> static void keynote_release(void)
> {
> + spk_stop_serial_interrupt();
> if (synth_port)
> synth_release_region(synth_port, SYNTH_IO_EXTENT);
> synth_port = 0;
>
--
Samuel
<b> il faut combien de chevaux pour tirer une doloréan à 88 morph ?
***b vient de remarque que 88 mph c'est 142 km/h
<y> aaaaah
<y> c'est pour ça qu'ils limitent à 130 km/h sur les autoroutes
<y> c'est pour éviter que les gens voyagent dans le temps
<b> probablement
More information about the Speakup
mailing list