#include <linux/sched.h>
 #include <linux/timer.h>
 #include <linux/kthread.h>
+#include <linux/serial_reg.h>  /* for UART_MCR* constants */
 
 #include "spk_priv.h"
-#include "serialio.h"
 #include "speakup.h"
 
 #define DRV_VERSION "2.21"
        .startup = SYNTH_START,
        .checkval = SYNTH_CHECK,
        .vars = vars,
-       .io_ops = &spk_serial_io_ops,
-       .probe = spk_serial_synth_probe,
-       .release = spk_serial_release,
-       .synth_immediate = spk_serial_synth_immediate,
+       .io_ops = &spk_ttyio_ops,
+       .probe = spk_ttyio_synth_probe,
+       .release = spk_ttyio_release,
+       .synth_immediate = spk_ttyio_synth_immediate,
        .catch_up = do_catch_up,
        .flush = spk_synth_flush,
        .is_alive = spk_synth_is_alive_restart,
 
  */
 #include "spk_priv.h"
 #include "speakup.h"
-#include "serialio.h"
 
 #define DRV_VERSION "2.11"
 #define SYNTH_CLEAR 0x18 /* flush synth buffer */
        .startup = SYNTH_START,
        .checkval = SYNTH_CHECK,
        .vars = vars,
-       .io_ops = &spk_serial_io_ops,
+       .io_ops = &spk_ttyio_ops,
        .probe = synth_probe,
-       .release = spk_serial_release,
-       .synth_immediate = spk_serial_synth_immediate,
+       .release = spk_ttyio_release,
+       .synth_immediate = spk_ttyio_synth_immediate,
        .catch_up = spk_do_catch_up,
        .flush = synth_flush,
        .is_alive = spk_synth_is_alive_restart,
 {
        int failed;
 
-       failed = spk_serial_synth_probe(synth);
+       failed = spk_ttyio_synth_probe(synth);
        if (failed == 0)
                synth_version(synth);
        synth->alive = !failed;
 
 #include <linux/kthread.h>
 
 #include "spk_priv.h"
-#include "serialio.h"
 #include "speakup.h"
 
 #define DRV_VERSION "2.14"
 #define SYNTH_CLEAR 0x03
 #define PROCSPEECH 0x0b
+
 static volatile unsigned char last_char;
 
 static void read_buff_add(u_char ch)
        .startup = SYNTH_START,
        .checkval = SYNTH_CHECK,
        .vars = vars,
-       .io_ops = &spk_serial_io_ops,
-       .probe = spk_serial_synth_probe,
-       .release = spk_serial_release,
-       .synth_immediate = spk_serial_synth_immediate,
+       .io_ops = &spk_ttyio_ops,
+       .probe = spk_ttyio_synth_probe,
+       .release = spk_ttyio_release,
+       .synth_immediate = spk_ttyio_synth_immediate,
        .catch_up = do_catch_up,
        .flush = synth_flush,
        .is_alive = spk_synth_is_alive_restart,
 
 #include <linux/kthread.h>
 #include "speakup.h"
 #include "spk_priv.h"
-#include "serialio.h"
 
 #define DRV_VERSION "2.20"
 #define SYNTH_CLEAR 0x03
        .vars = vars,
        .default_pitch = ap_defaults,
        .default_vol = g5_defaults,
-       .io_ops = &spk_serial_io_ops,
-       .probe = spk_serial_synth_probe,
-       .release = spk_serial_release,
-       .synth_immediate = spk_serial_synth_immediate,
+       .io_ops = &spk_ttyio_ops,
+       .probe = spk_ttyio_synth_probe,
+       .release = spk_ttyio_release,
+       .synth_immediate = spk_ttyio_synth_immediate,
        .catch_up = do_catch_up,
        .flush = synth_flush,
        .is_alive = spk_synth_is_alive_restart,
 
  */
 #include "speakup.h"
 #include "spk_priv.h"
-#include "serialio.h"
 #include "speakup_dtlk.h" /* local header file for LiteTalk values */
 
 #define DRV_VERSION "2.11"
        .startup = SYNTH_START,
        .checkval = SYNTH_CHECK,
        .vars = vars,
-       .io_ops = &spk_serial_io_ops,
+       .io_ops = &spk_ttyio_ops,
        .probe = synth_probe,
-       .release = spk_serial_release,
-       .synth_immediate = spk_serial_synth_immediate,
+       .release = spk_ttyio_release,
+       .synth_immediate = spk_ttyio_synth_immediate,
        .catch_up = spk_do_catch_up,
        .flush = spk_synth_flush,
        .is_alive = spk_synth_is_alive_restart,
 {
        int failed = 0;
 
-       failed = spk_serial_synth_probe(synth);
+       failed = spk_ttyio_synth_probe(synth);
        if (failed == 0)
                synth_interrogate(synth);
        synth->alive = !failed;
 
  */
 #include "spk_priv.h"
 #include "speakup.h"
-#include "serialio.h"
 
 #define DRV_VERSION "2.11"
 #define SYNTH_CLEAR 0x18
        .startup = SYNTH_START,
        .checkval = SYNTH_CHECK,
        .vars = vars,
-       .io_ops = &spk_serial_io_ops,
-       .probe = spk_serial_synth_probe,
-       .release = spk_serial_release,
-       .synth_immediate = spk_serial_synth_immediate,
+       .io_ops = &spk_ttyio_ops,
+       .probe = spk_ttyio_synth_probe,
+       .release = spk_ttyio_release,
+       .synth_immediate = spk_ttyio_synth_immediate,
        .catch_up = spk_do_catch_up,
        .flush = synth_flush,
        .is_alive = spk_synth_is_alive_restart,