#include <linux/interrupt.h>
#include <linux/ioport.h>
#include "spk_types.h"
#include "speakup.h"
#include "spk_priv.h"
#include "serialio.h"
#include <linux/serial_core.h>
#include <asm/serial.h>
#ifndef SERIAL_PORT_DFNS
#define SERIAL_PORT_DFNS
#endif
static void start_serial_interrupt(int irq);
static const struct old_serial_port rs_table[] = …;
static const struct old_serial_port *serstate;
static int timeouts;
static int spk_serial_out(struct spk_synth *in_synth, const char ch);
static void spk_serial_send_xchar(struct spk_synth *in_synth, char ch);
static void spk_serial_tiocmset(struct spk_synth *in_synth, unsigned int set, unsigned int clear);
static unsigned char spk_serial_in(struct spk_synth *in_synth);
static unsigned char spk_serial_in_nowait(struct spk_synth *in_synth);
static void spk_serial_flush_buffer(struct spk_synth *in_synth);
static int spk_serial_wait_for_xmitr(struct spk_synth *in_synth);
struct spk_io_ops spk_serial_io_ops = …;
EXPORT_SYMBOL_GPL(…);
const struct old_serial_port *spk_serial_init(int index)
{ … }
static irqreturn_t synth_readbuf_handler(int irq, void *dev_id)
{ … }
static void start_serial_interrupt(int irq)
{ … }
static void spk_serial_send_xchar(struct spk_synth *synth, char ch)
{ … }
static void spk_serial_tiocmset(struct spk_synth *in_synth, unsigned int set, unsigned int clear)
{ … }
int spk_serial_synth_probe(struct spk_synth *synth)
{ … }
EXPORT_SYMBOL_GPL(…);
void spk_stop_serial_interrupt(void)
{ … }
EXPORT_SYMBOL_GPL(…);
static int spk_serial_wait_for_xmitr(struct spk_synth *in_synth)
{ … }
static unsigned char spk_serial_in(struct spk_synth *in_synth)
{ … }
static unsigned char spk_serial_in_nowait(struct spk_synth *in_synth)
{ … }
static void spk_serial_flush_buffer(struct spk_synth *in_synth)
{ … }
static int spk_serial_out(struct spk_synth *in_synth, const char ch)
{ … }
const char *spk_serial_synth_immediate(struct spk_synth *synth,
const char *buff)
{ … }
EXPORT_SYMBOL_GPL(…);
void spk_serial_release(struct spk_synth *synth)
{ … }
EXPORT_SYMBOL_GPL(…);