From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by befuddled.reisers.ca (Postfix, from userid 65534) id 294A61F0A03; Thu, 16 Mar 2017 04:10:27 -0400 (EDT) Received: from mail-wm0-x242.google.com (mail-wm0-x242.google.com [IPv6:2a00:1450:400c:c09::242]) by befuddled.reisers.ca (Postfix) with ESMTPS id 232841F09F3 for ; Thu, 16 Mar 2017 04:10:25 -0400 (EDT) Received: by mail-wm0-x242.google.com with SMTP id u132so8299284wmg.1 for ; Thu, 16 Mar 2017 01:10:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:mime-version:content-disposition :in-reply-to:user-agent; bh=N4UoEtRPpQhcTGDdi016CUzyur8sx0/WnHbS8Jix2gQ=; b=KkI0cgeaLnOzN+p2JARmmXSRciO2uqFAnxURHnZT8VbZDmGQMmJpYBNCskXgACsxjU cpT69le0lhC8xR4QMxmn6W/XQIJ9Ghq5Gm48ito9MOzm1UogxzDsAQF1o3fI3L8xrU2M h+e5XE+3cS4jQMFgwYrbnJ77JLGCX3i1GLCKGGcp0dkvg+pgoReXSkpzRkbseiDC8M2v H5IEafV2KrIqEBeoNBGaDX1SYfO+VXDiXSRquYGB9Zy1CsMXWVK49rxGmCcUBUfudbXN +UIyVBC4cmH3TbWVbBP6J1k5+XjOIWZ2s1yrk9rmbt23W1hEQxByc7PnccTn5EJq2aZi K47Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:mime-version :content-disposition:in-reply-to:user-agent; bh=N4UoEtRPpQhcTGDdi016CUzyur8sx0/WnHbS8Jix2gQ=; b=Fe5y47R8i0CIvIpP1kC8uWpH5cpWsgyN599MB0OZ1OawJ8QhPgU654jYg3DcU74n4L rRLXrGxPo8IfeVUfWdskQGDLVmVvAVarYkG8CrKBvb0R9v4TUN/dQPe/dWhIORX8kYLf F4xWncwMUKX5fYIxfdUxa0k6VKTVt7a134y8O8h8dLPrGoWVQqKkDTGlKka3P5aZqImr Xlqu26O1B731mn+RMdD+lYkqL2f+tcI8mKSSs1PFhBrkI100LGaG7QtlrFR+E0C7CJpM xJTmQqKsAJjR6nY7bBMxlkc0bHQbSj/ZAyUxowyrpI0jlBRrjoOoFkC9x4koqiXsgU45 fXVw== X-Gm-Message-State: AFeK/H0WHVdgZ9UI+u9XvqHs1burpCjD1dqudONdwFiAvf6O+ISlmcheHTaoNTAmZSkJuQ== X-Received: by 10.28.68.69 with SMTP id r66mr22218693wma.115.1489651823970; Thu, 16 Mar 2017 01:10:23 -0700 (PDT) Received: from sanghar (92.40.249.224.threembb.co.uk. [92.40.249.224]) by smtp.gmail.com with ESMTPSA id l21sm5181981wrl.59.2017.03.16.01.10.23 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 16 Mar 2017 01:10:23 -0700 (PDT) Date: Thu, 16 Mar 2017 08:10:17 +0000 From: Okash Khawaja To: Greg Kroah-Hartman Cc: Samuel Thibault , linux-kernel@vger.kernel.org, devel@driverdev.osuosl.org, Kirk Reiser , speakup@linux-speakup.org, Chris Brannon Subject: [patch 4/4] staging: speakup: move those functions which do outgoing serial comms, into serialio.c Message-ID: <20170316081017.GA2628@sanghar> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170316070154.GA24362@kroah.com> User-Agent: Mutt/1.7.2 (2016-11-26) 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: Thu, 16 Mar 2017 08:10:27 -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-staging/drivers/staging/speakup/serialio.c =================================================================== --- linux-staging.orig/drivers/staging/speakup/serialio.c +++ linux-staging/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) { + 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-staging/drivers/staging/speakup/speakup_acntsa.c =================================================================== --- linux-staging.orig/drivers/staging/speakup/speakup_acntsa.c +++ linux-staging/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-staging/drivers/staging/speakup/speakup_apollo.c =================================================================== --- linux-staging.orig/drivers/staging/speakup/speakup_apollo.c +++ linux-staging/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-staging/drivers/staging/speakup/speakup_audptr.c =================================================================== --- linux-staging.orig/drivers/staging/speakup/speakup_audptr.c +++ linux-staging/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-staging/drivers/staging/speakup/speakup_bns.c =================================================================== --- linux-staging.orig/drivers/staging/speakup/speakup_bns.c +++ linux-staging/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-staging/drivers/staging/speakup/speakup_decext.c =================================================================== --- linux-staging.orig/drivers/staging/speakup/speakup_decext.c +++ linux-staging/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, @@ -225,7 +225,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-staging/drivers/staging/speakup/speakup_dectlk.c =================================================================== --- linux-staging.orig/drivers/staging/speakup/speakup_dectlk.c +++ linux-staging/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-staging/drivers/staging/speakup/speakup_dummy.c =================================================================== --- linux-staging.orig/drivers/staging/speakup/speakup_dummy.c +++ linux-staging/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-staging/drivers/staging/speakup/speakup_ltlk.c =================================================================== --- linux-staging.orig/drivers/staging/speakup/speakup_ltlk.c +++ linux-staging/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-staging/drivers/staging/speakup/speakup_spkout.c =================================================================== --- linux-staging.orig/drivers/staging/speakup/speakup_spkout.c +++ linux-staging/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-staging/drivers/staging/speakup/speakup_txprt.c =================================================================== --- linux-staging.orig/drivers/staging/speakup/speakup_txprt.c +++ linux-staging/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-staging/drivers/staging/speakup/spk_priv.h =================================================================== --- linux-staging.orig/drivers/staging/speakup/spk_priv.h +++ linux-staging/drivers/staging/speakup/spk_priv.h @@ -58,7 +58,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-staging/drivers/staging/speakup/synth.c =================================================================== --- linux-staging.orig/drivers/staging/speakup/synth.c +++ linux-staging/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) { - 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 @@ -147,23 +118,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);