From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by befuddled.reisers.ca (Postfix, from userid 65534) id 5D0B01F0B1E; Tue, 14 Mar 2017 09:46:55 -0400 (EDT) Received: from mail-wr0-x241.google.com (mail-wr0-x241.google.com [IPv6:2a00:1450:400c:c0c::241]) by befuddled.reisers.ca (Postfix) with ESMTPS id 598971F0A31 for ; Tue, 14 Mar 2017 09:45:26 -0400 (EDT) Received: by mail-wr0-x241.google.com with SMTP id u108so24003692wrb.2 for ; Tue, 14 Mar 2017 06:45:26 -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=XJdyo5BbDcF1JJt+HCSPJJnWXHmPX3cwvZIlRxAQ6dI=; b=sJZxHvDfQDkgg3s6NaLfF8Y5N8GIL5WloarSud+60z5HLVmCG1G0tj3T5Ac06ZJQOl Kt0pjkMjaCkl6Hl+sjjr/LVEfQeho3nUvOGAKomOQvIYGRq+sLPQhRDhjRjZ/nDRQF3U xfi/9QpkBm/AQRSne+plPDXRV/sFuDDgzqCvcx14+NGF5axO9C9iFE047gYc1/xANJuF bpwZsrhWnZoCx2KzBw5xBpP+KWfp3FsH2lK7tFmeUonL2l6d51h/El0XttjPZRtrN0qS nZyQWO0hzS2L5yXEz59fwPMOzpyKDUH8VS6Uj1zHPr4wd6SuAMSApPnHgmvOiUZ76wSK EK5g== 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=XJdyo5BbDcF1JJt+HCSPJJnWXHmPX3cwvZIlRxAQ6dI=; b=EPSZjqE9ZTauxNxZfnrVfGOXk5XsLlq2eopELgjDaW3d8ZRATwMMqmYO0I2jMqULnc MRHBEG7Do9UdYyFbeXsn+ywQqxGWtjvDVqrexnE+7n/j37lTvZTfr/ojYz/1U3KHBkEJ Rs2nNuIOtyd8QXBh0GG68NtAAMLiiUiloTFL9TVo/XTTORbzjvwRyz8MF7+jawpO+Ee3 QYseB2HGDQ3UM1gXl+JWmAQfBrN7OkfygTN8bdCN2ictAMM3CGG2fvKJwKJq78GXDa1t GWleH+O5LCqeq/08l8d1A2mzdRUDZxDjD2+8mfu+hXrzy6D7j8XKtLTTcaaClMi4THV0 sTAw== X-Gm-Message-State: AMke39mMfjPN8T95/wu9EagFpCeHMxNIqvL0KyTs7hz+xqGRWteyc6pPRWQSHqxU4RO4DA== X-Received: by 10.223.141.148 with SMTP id o20mr34559687wrb.75.1489499125467; Tue, 14 Mar 2017 06:45:25 -0700 (PDT) Received: from sanghar (188.29.165.27.threembb.co.uk. [188.29.165.27]) by smtp.gmail.com with ESMTPSA id 136sm15584160wmg.12.2017.03.14.06.45.24 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 14 Mar 2017 06:45:24 -0700 (PDT) Message-Id: <20170314134523.466213093@gmail.com> User-Agent: quilt/0.63-1 Date: Tue, 14 Mar 2017 13:41:55 +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 4/4] staging: speakup: move those functions which do outgoing serial comms, into serialio.c References: <20170314134151.603195427@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Disposition: inline; filename=04_move_spk_synth_immediate_and_spk_serial_synth_probe_into_serialio 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:46:56 -0000 This moves spk_synth_immediate and spk_serial_synth_probe functions into serialio.c. These functions do outgoing serial comms. The move is a step towards collecting all serial comms in serialio.c. This also renames spk_synth_immediate to spk_serial_synth_immediate. Code inside those functions has not been changed. Along the way, this patch also fixes a couple of spots which were calling spk_synth_immediate directly, so that the calls now happen via the spk_syth struct. 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 @@ -136,6 +136,35 @@ outb(1, speakup_info.port_tts + UART_FCR); /* Turn FIFO On */ } +int spk_serial_synth_probe(struct spk_synth *synth) +{ + const struct old_serial_port *ser; + int failed = 0; + + if ((synth->ser >= SPK_LO_TTY) && (synth->ser <= SPK_HI_TTY)) { + ser = spk_serial_init(synth->ser); + if (ser == NULL) { + failed = -1; + } else { + outb_p(0, ser->port); + mdelay(1); + outb_p('\r', ser->port); + } + } else { + failed = -1; + pr_warn("ttyS%i is an invalid port\n", synth->ser); + } + if (failed) { + pr_info("%s: not found\n", synth->long_name); + return -ENODEV; + } + pr_info("%s: ttyS%i, Driver Version %s\n", + synth->long_name, synth->ser, synth->version); + synth->alive = 1; + return 0; +} +EXPORT_SYMBOL_GPL(spk_serial_synth_probe); + void spk_stop_serial_interrupt(void) { if (speakup_info.port_tts == 0) @@ -223,6 +252,23 @@ return 0; } +const char *spk_serial_synth_immediate(struct spk_synth *synth, const char *buff) +{ + u_char ch; + + while ((ch = *buff)) { + if (ch == '\n') + ch = synth->procspeech; + if (spk_wait_for_xmitr(synth)) + outb(ch, speakup_info.port_tts); + else + return buff; + buff++; + } + return NULL; +} +EXPORT_SYMBOL_GPL(spk_serial_synth_immediate); + void spk_serial_release(void) { spk_stop_serial_interrupt(); Index: linux-4.11-rc2/drivers/staging/speakup/speakup_acntsa.c =================================================================== --- linux-4.11-rc2.orig/drivers/staging/speakup/speakup_acntsa.c +++ linux-4.11-rc2/drivers/staging/speakup/speakup_acntsa.c @@ -102,7 +102,7 @@ .io_ops = &spk_serial_io_ops, .probe = synth_probe, .release = spk_serial_release, - .synth_immediate = spk_synth_immediate, + .synth_immediate = spk_serial_synth_immediate, .catch_up = spk_do_catch_up, .flush = spk_synth_flush, .is_alive = spk_synth_is_alive_restart, @@ -127,7 +127,7 @@ failed = spk_serial_synth_probe(synth); if (failed == 0) { - spk_synth_immediate(synth, "\033=R\r"); + synth->synth_immediate(synth, "\033=R\r"); mdelay(100); } synth->alive = !failed; Index: linux-4.11-rc2/drivers/staging/speakup/speakup_apollo.c =================================================================== --- linux-4.11-rc2.orig/drivers/staging/speakup/speakup_apollo.c +++ linux-4.11-rc2/drivers/staging/speakup/speakup_apollo.c @@ -111,7 +111,7 @@ .io_ops = &spk_serial_io_ops, .probe = spk_serial_synth_probe, .release = spk_serial_release, - .synth_immediate = spk_synth_immediate, + .synth_immediate = spk_serial_synth_immediate, .catch_up = do_catch_up, .flush = spk_synth_flush, .is_alive = spk_synth_is_alive_restart, Index: linux-4.11-rc2/drivers/staging/speakup/speakup_audptr.c =================================================================== --- linux-4.11-rc2.orig/drivers/staging/speakup/speakup_audptr.c +++ linux-4.11-rc2/drivers/staging/speakup/speakup_audptr.c @@ -107,7 +107,7 @@ .io_ops = &spk_serial_io_ops, .probe = synth_probe, .release = spk_serial_release, - .synth_immediate = spk_synth_immediate, + .synth_immediate = spk_serial_synth_immediate, .catch_up = spk_do_catch_up, .flush = synth_flush, .is_alive = spk_synth_is_alive_restart, @@ -144,7 +144,7 @@ unsigned char test = 0; char synth_id[40] = ""; - spk_synth_immediate(synth, "\x05[Q]"); + synth->synth_immediate(synth, "\x05[Q]"); synth_id[test] = spk_serial_in(); if (synth_id[test] == 'A') { do { Index: linux-4.11-rc2/drivers/staging/speakup/speakup_bns.c =================================================================== --- linux-4.11-rc2.orig/drivers/staging/speakup/speakup_bns.c +++ linux-4.11-rc2/drivers/staging/speakup/speakup_bns.c @@ -99,7 +99,7 @@ .io_ops = &spk_serial_io_ops, .probe = spk_serial_synth_probe, .release = spk_serial_release, - .synth_immediate = spk_synth_immediate, + .synth_immediate = spk_serial_synth_immediate, .catch_up = spk_do_catch_up, .flush = spk_synth_flush, .is_alive = spk_synth_is_alive_restart, Index: linux-4.11-rc2/drivers/staging/speakup/speakup_decext.c =================================================================== --- linux-4.11-rc2.orig/drivers/staging/speakup/speakup_decext.c +++ linux-4.11-rc2/drivers/staging/speakup/speakup_decext.c @@ -130,7 +130,7 @@ .io_ops = &spk_serial_io_ops, .probe = spk_serial_synth_probe, .release = spk_serial_release, - .synth_immediate = spk_synth_immediate, + .synth_immediate = spk_serial_synth_immediate, .catch_up = do_catch_up, .flush = synth_flush, .is_alive = spk_synth_is_alive_restart, @@ -224,7 +224,7 @@ static void synth_flush(struct spk_synth *synth) { in_escape = 0; - spk_synth_immediate(synth, "\033P;10z\033\\"); + synth->synth_immediate(synth, "\033P;10z\033\\"); } module_param_named(ser, synth_decext.ser, int, 0444); Index: linux-4.11-rc2/drivers/staging/speakup/speakup_dectlk.c =================================================================== --- linux-4.11-rc2.orig/drivers/staging/speakup/speakup_dectlk.c +++ linux-4.11-rc2/drivers/staging/speakup/speakup_dectlk.c @@ -133,7 +133,7 @@ .io_ops = &spk_serial_io_ops, .probe = spk_serial_synth_probe, .release = spk_serial_release, - .synth_immediate = spk_synth_immediate, + .synth_immediate = spk_serial_synth_immediate, .catch_up = do_catch_up, .flush = synth_flush, .is_alive = spk_synth_is_alive_restart, Index: linux-4.11-rc2/drivers/staging/speakup/speakup_dummy.c =================================================================== --- linux-4.11-rc2.orig/drivers/staging/speakup/speakup_dummy.c +++ linux-4.11-rc2/drivers/staging/speakup/speakup_dummy.c @@ -101,7 +101,7 @@ .io_ops = &spk_serial_io_ops, .probe = spk_serial_synth_probe, .release = spk_serial_release, - .synth_immediate = spk_synth_immediate, + .synth_immediate = spk_serial_synth_immediate, .catch_up = spk_do_catch_up, .flush = spk_synth_flush, .is_alive = spk_synth_is_alive_restart, Index: linux-4.11-rc2/drivers/staging/speakup/speakup_ltlk.c =================================================================== --- linux-4.11-rc2.orig/drivers/staging/speakup/speakup_ltlk.c +++ linux-4.11-rc2/drivers/staging/speakup/speakup_ltlk.c @@ -114,7 +114,7 @@ .io_ops = &spk_serial_io_ops, .probe = synth_probe, .release = spk_serial_release, - .synth_immediate = spk_synth_immediate, + .synth_immediate = spk_serial_synth_immediate, .catch_up = spk_do_catch_up, .flush = spk_synth_flush, .is_alive = spk_synth_is_alive_restart, @@ -139,7 +139,7 @@ unsigned char *t, i; unsigned char buf[50], rom_v[20]; - spk_synth_immediate(synth, "\x18\x01?"); + synth->synth_immediate(synth, "\x18\x01?"); for (i = 0; i < 50; i++) { buf[i] = spk_serial_in(); if (i > 2 && buf[i] == 0x7f) Index: linux-4.11-rc2/drivers/staging/speakup/speakup_spkout.c =================================================================== --- linux-4.11-rc2.orig/drivers/staging/speakup/speakup_spkout.c +++ linux-4.11-rc2/drivers/staging/speakup/speakup_spkout.c @@ -105,7 +105,7 @@ .io_ops = &spk_serial_io_ops, .probe = spk_serial_synth_probe, .release = spk_serial_release, - .synth_immediate = spk_synth_immediate, + .synth_immediate = spk_serial_synth_immediate, .catch_up = spk_do_catch_up, .flush = synth_flush, .is_alive = spk_synth_is_alive_restart, Index: linux-4.11-rc2/drivers/staging/speakup/speakup_txprt.c =================================================================== --- linux-4.11-rc2.orig/drivers/staging/speakup/speakup_txprt.c +++ linux-4.11-rc2/drivers/staging/speakup/speakup_txprt.c @@ -98,7 +98,7 @@ .io_ops = &spk_serial_io_ops, .probe = spk_serial_synth_probe, .release = spk_serial_release, - .synth_immediate = spk_synth_immediate, + .synth_immediate = spk_serial_synth_immediate, .catch_up = spk_do_catch_up, .flush = spk_synth_flush, .is_alive = spk_synth_is_alive_restart, Index: linux-4.11-rc2/drivers/staging/speakup/spk_priv.h =================================================================== --- linux-4.11-rc2.orig/drivers/staging/speakup/spk_priv.h +++ linux-4.11-rc2/drivers/staging/speakup/spk_priv.h @@ -57,7 +57,7 @@ const char *buf, size_t count); int spk_serial_synth_probe(struct spk_synth *synth); -const char *spk_synth_immediate(struct spk_synth *synth, const char *buff); +const char *spk_serial_synth_immediate(struct spk_synth *synth, const char *buff); void spk_do_catch_up(struct spk_synth *synth); void spk_synth_flush(struct spk_synth *synth); int spk_synth_is_alive_nop(struct spk_synth *synth); 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 @@ -44,35 +44,6 @@ static int do_synth_init(struct spk_synth *in_synth); -int spk_serial_synth_probe(struct spk_synth *synth) -{ - const struct old_serial_port *ser; - int failed = 0; - - if ((synth->ser >= SPK_LO_TTY) && (synth->ser <= SPK_HI_TTY)) { - ser = spk_serial_init(synth->ser); - if (ser == NULL) { - failed = -1; - } else { - outb_p(0, ser->port); - mdelay(1); - outb_p('\r', ser->port); - } - } else { - failed = -1; - pr_warn("ttyS%i is an invalid port\n", synth->ser); - } - if (failed) { - pr_info("%s: not found\n", synth->long_name); - return -ENODEV; - } - pr_info("%s: ttyS%i, Driver Version %s\n", - synth->long_name, synth->ser, synth->version); - synth->alive = 1; - return 0; -} -EXPORT_SYMBOL_GPL(spk_serial_synth_probe); - /* * Main loop of the progression thread: keep eating from the buffer * and push to the serial port, waiting as needed @@ -146,23 +117,6 @@ } EXPORT_SYMBOL_GPL(spk_do_catch_up); -const char *spk_synth_immediate(struct spk_synth *synth, const char *buff) -{ - u_char ch; - - while ((ch = *buff)) { - if (ch == '\n') - ch = synth->procspeech; - if (spk_wait_for_xmitr(synth)) - outb(ch, speakup_info.port_tts); - else - return buff; - buff++; - } - return NULL; -} -EXPORT_SYMBOL_GPL(spk_synth_immediate); - void spk_synth_flush(struct spk_synth *synth) { synth->io_ops->synth_out(synth, synth->clear);