lkml.org 
[lkml]   [2017]   [Mar]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 4/7] staging: speakup: move spk_stop_serial_interrupt into synth-specific release function
    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@gmail.com>

    Reviewed-by: Samuel Thibault <samuel.thibault@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
    @@ -149,6 +149,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;
    \
     
     \ /
      Last update: 2017-03-13 23:12    [W:2.610 / U:1.460 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site