linux/drivers/accessibility/speakup/speakup_decpc.c

// SPDX-License-Identifier: GPL-2.0+
/*
 * This is the DECtalk PC speakup driver
 *
 * Some constants from DEC's DOS driver:
 *      Copyright (c) by Digital Equipment Corp.
 *
 * 386BSD DECtalk PC driver:
 *      Copyright (c) 1996 Brian Buhrow <[email protected]>
 *
 * Linux DECtalk PC driver:
 *      Copyright (c) 1997 Nicolas Pitre <[email protected]>
 *
 * speakup DECtalk PC Internal driver:
 *      Copyright (c) 2003 David Borowski <[email protected]>
 *
 * All rights reserved.
 */
#include <linux/jiffies.h>
#include <linux/sched.h>
#include <linux/timer.h>
#include <linux/kthread.h>

#include "spk_priv.h"
#include "speakup.h"

#define MODULE_init
#define MODULE_self_test
#define MODULE_reset

#define MODE_mask
#define MODE_null
#define MODE_test
#define MODE_status
#define STAT_int
#define STAT_tr_char
#define STAT_rr_char
#define STAT_cmd_ready
#define STAT_dma_ready
#define STAT_digitized
#define STAT_new_index
#define STAT_new_status
#define STAT_dma_state
#define STAT_index_valid
#define STAT_flushing
#define STAT_self_test
#define MODE_ready
#define READY_boot
#define READY_kernel
#define MODE_error

#define CMD_mask
#define CMD_null
#define CMD_control
#define CTRL_mask
#define CTRL_data
#define CTRL_null
#define CTRL_vol_up
#define CTRL_vol_down
#define CTRL_vol_set
#define CTRL_pause
#define CTRL_resume
#define CTRL_resume_spc
#define CTRL_flush
#define CTRL_int_enable
#define CTRL_buff_free
#define CTRL_buff_used
#define CTRL_speech
#define CTRL_SP_voice
#define CTRL_SP_rate
#define CTRL_SP_comma
#define CTRL_SP_period
#define CTRL_SP_rate_delta
#define CTRL_SP_get_param
#define CTRL_last_index
#define CTRL_io_priority
#define CTRL_free_mem
#define CTRL_get_lang
#define CMD_test
#define TEST_mask
#define TEST_null
#define TEST_isa_int
#define TEST_echo
#define TEST_seg
#define TEST_off
#define TEST_peek
#define TEST_poke
#define TEST_sub_code
#define CMD_id
#define ID_null
#define ID_kernel
#define ID_boot
#define CMD_dma
#define CMD_reset
#define CMD_sync
#define CMD_char_in
#define CMD_char_out
#define CHAR_count_1
#define CHAR_count_2
#define CHAR_count_3
#define CMD_spc_mode
#define CMD_spc_to_text
#define CMD_spc_to_digit
#define CMD_spc_rate
#define CMD_error

enum {};

#define DMA_single_in
#define DMA_single_out
#define DMA_buff_in
#define DMA_buff_out
#define DMA_control
#define DT_MEM_ALLOC
#define DT_SET_DIC
#define DT_START_TASK
#define DT_LOAD_MEM
#define DT_READ_MEM
#define DT_DIGITAL_IN
#define DMA_sync
#define DMA_sync_char

#define DRV_VERSION
#define PROCSPEECH
#define SYNTH_IO_EXTENT

static int synth_probe(struct spk_synth *synth);
static void dtpc_release(struct spk_synth *synth);
static const char *synth_immediate(struct spk_synth *synth, const char *buf);
static void do_catch_up(struct spk_synth *synth);
static void synth_flush(struct spk_synth *synth);

static int synth_portlist[] =;
static int in_escape, is_flushing;
static int dt_stat, dma_state;


enum default_vars_id {};



static struct var_t vars[NB_ID] =;

/*
 * These attributes will appear in /sys/accessibility/speakup/decpc.
 */
static struct kobj_attribute caps_start_attribute =;
static struct kobj_attribute caps_stop_attribute =;
static struct kobj_attribute pitch_attribute =;
static struct kobj_attribute inflection_attribute =;
static struct kobj_attribute punct_attribute =;
static struct kobj_attribute rate_attribute =;
static struct kobj_attribute voice_attribute =;
static struct kobj_attribute vol_attribute =;

static struct kobj_attribute delay_time_attribute =;
static struct kobj_attribute direct_attribute =;
static struct kobj_attribute full_time_attribute =;
static struct kobj_attribute jiffy_delta_attribute =;
static struct kobj_attribute trigger_time_attribute =;

/*
 * Create a group of attributes so that we can create and destroy them all
 * at once.
 */
static struct attribute *synth_attrs[] =;

static struct spk_synth synth_dec_pc =;

static int dt_getstatus(void)
{}

static void dt_sendcmd(u_int cmd)
{}

static int dt_waitbit(int bit)
{}

static int dt_wait_dma(void)
{}

static int dt_ctrl(u_int cmd)
{}

static void synth_flush(struct spk_synth *synth)
{}

static int dt_sendchar(char ch)
{}

static int testkernel(void)
{}

static void do_catch_up(struct spk_synth *synth)
{}

static const char *synth_immediate(struct spk_synth *synth, const char *buf)
{}

static int synth_probe(struct spk_synth *synth)
{}

static void dtpc_release(struct spk_synth *synth)
{}

module_param_named(start, synth_dec_pc.startup, short, 0444);
module_param_named(rate, vars[RATE_ID].u.n.default_val, int, 0444);
module_param_named(pitch, vars[PITCH_ID].u.n.default_val, int, 0444);
module_param_named(inflection, vars[INFLECTION_ID].u.n.default_val, int, 0444);
module_param_named(vol, vars[VOL_ID].u.n.default_val, int, 0444);
module_param_named(punct, vars[PUNCT_ID].u.n.default_val, int, 0444);
module_param_named(voice, vars[VOICE_ID].u.n.default_val, int, 0444);
module_param_named(direct, vars[DIRECT_ID].u.n.default_val, int, 0444);




MODULE_PARM_DESC();
MODULE_PARM_DESC();
MODULE_PARM_DESC();
MODULE_PARM_DESC();
MODULE_PARM_DESC();
MODULE_PARM_DESC();
MODULE_PARM_DESC();
MODULE_PARM_DESC();

module_spk_synth();

MODULE_AUTHOR();
MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();
MODULE_VERSION();