From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by befuddled.reisers.ca (Postfix, from userid 65534) id 3D0331F0A3D; Tue, 14 Mar 2017 09:45:26 -0400 (EDT) Received: from mail-wm0-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by befuddled.reisers.ca (Postfix) with ESMTPS id 365F11F0A2B for ; Tue, 14 Mar 2017 09:45:24 -0400 (EDT) Received: by mail-wm0-x244.google.com with SMTP id v190so14957456wme.3 for ; Tue, 14 Mar 2017 06:45:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:user-agent:date:from:to:cc:subject:references :mime-version:content-disposition; bh=RU95xqjJvR7FrsL1+jTblYJ8Dgt8l4uJASzXBDEMGgY=; b=o4yoAsWJ3IGNU2XZjIJ6B8ZR3d7ebCPuKdMT0x1ltZMuADk/tVCKwAch/sNkQXdEcQ pjl+jq4r5gyxImjRJqbcpd7CA/CuCHbezE3Ovie0sakpn0mGFZnGRWwK3LBD2CSNRKhf oKJZBmpypueGzJYbVWrT7cYrLeZkPpMpzTi6ty9pImvqpVTAnyWhZaOyDgCqspUiOZui GsMB3mi3wObQs16S6Gm0JjcOUHmD9PmENnsI/LODSS71Y0E9QvkrtCAM4xk8n7OQStNG 1p8W39D/UywtABVJtWoAbDxQmoGNdVe/OABnfN0sYu2+fRQDKq6Ysh8SMxbtkNuJ4LNd tnKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:user-agent:date:from:to:cc:subject :references:mime-version:content-disposition; bh=RU95xqjJvR7FrsL1+jTblYJ8Dgt8l4uJASzXBDEMGgY=; b=buNRPjoopcs+dKcXINsflSULQVSQL452ORq/lJa29ImYlTdjcxx3zAF9UUKwgT+RSy r/VmCUHgLQ1LJRfMcoLTN7s/WlbABfND2GOBAA3IXbA3JSclO212Oq2zdV8e+QF0dMdh CuRCnUkxR9Rq/mBKnfiyAhIKT1/kxb8ghnyd11SdF5o7gZUq0MJMvj6PzdR3h481+nl+ 9EoAmsA2UZSKL+9bfx8NCIeb4z/Kwgn7ulABqHG9AsIwGtwvCdxBQk1v8TyRoczNPvUX unMz7xDP+IChWQfPr0WuXdtV/8Rk1vuy8XXA8e0bHzR1iv5JLU+YL17bK6l0uJabPuvR 5kmg== X-Gm-Message-State: AFeK/H0wTdAiH+4Ey5Wt7/2VJpMqvKISZfw66SXIejnEE/VqiiXFmEn92oRSrOEOkBNQKQ== X-Received: by 10.28.146.207 with SMTP id u198mr14888575wmd.36.1489499123292; Tue, 14 Mar 2017 06:45:23 -0700 (PDT) Received: from sanghar (188.29.165.27.threembb.co.uk. [188.29.165.27]) by smtp.gmail.com with ESMTPSA id k70sm15558461wmc.3.2017.03.14.06.45.22 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 14 Mar 2017 06:45:22 -0700 (PDT) Message-Id: <20170314134521.466524315@gmail.com> User-Agent: quilt/0.63-1 Date: Tue, 14 Mar 2017 13:41:54 +0000 From: Okash Khawaja To: Greg Kroah-Hartman , Samuel Thibault , linux-kernel@vger.kernel.org Cc: William Hubbs , Chris Brannon , Kirk Reiser , speakup@linux-speakup.org, devel@driverdev.osuosl.org, Okash Khawaja Subject: [patch 3/4] staging: speakup: move spk_stop_serial_interrupt into synth-specific release function References: <20170314134151.603195427@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Disposition: inline; filename=03_refactor_spk_stop_serial_interrupt X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 X-BeenThere: speakup@linux-speakup.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Speakup is a screen review system for Linux." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Mar 2017 13:45:27 -0000 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 the spk_stop_serial_interrupt() call is specific to current serial i/o implementation. Moving it into each synth's release() method gives the decision of calling spk_stop_serial_interrupt() to that synth. Signed-off-by: Okash Khawaja Reviewed-by: Samuel Thibault Index: linux-4.11-rc2/drivers/staging/speakup/serialio.c =================================================================== --- linux-4.11-rc2.orig/drivers/staging/speakup/serialio.c +++ linux-4.11-rc2/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.11-rc2/drivers/staging/speakup/speakup_acntpc.c =================================================================== --- linux-4.11-rc2.orig/drivers/staging/speakup/speakup_acntpc.c +++ linux-4.11-rc2/drivers/staging/speakup/speakup_acntpc.c @@ -303,6 +303,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.11-rc2/drivers/staging/speakup/synth.c =================================================================== --- linux-4.11-rc2.orig/drivers/staging/speakup/synth.c +++ linux-4.11-rc2/drivers/staging/speakup/synth.c @@ -432,7 +432,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.11-rc2/drivers/staging/speakup/speakup_decpc.c =================================================================== --- linux-4.11-rc2.orig/drivers/staging/speakup/speakup_decpc.c +++ linux-4.11-rc2/drivers/staging/speakup/speakup_decpc.c @@ -482,6 +482,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.11-rc2/drivers/staging/speakup/speakup_dtlk.c =================================================================== --- linux-4.11-rc2.orig/drivers/staging/speakup/speakup_dtlk.c +++ linux-4.11-rc2/drivers/staging/speakup/speakup_dtlk.c @@ -374,6 +374,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.11-rc2/drivers/staging/speakup/speakup_keypc.c =================================================================== --- linux-4.11-rc2.orig/drivers/staging/speakup/speakup_keypc.c +++ linux-4.11-rc2/drivers/staging/speakup/speakup_keypc.c @@ -305,6 +305,7 @@ static void keynote_release(void) { + spk_stop_serial_interrupt(); if (synth_port) synth_release_region(synth_port, SYNTH_IO_EXTENT); synth_port = 0;