linux/drivers/accessibility/speakup/speakup_keypc.c

// SPDX-License-Identifier: GPL-2.0+
/*
 * written by David Borowski
 *
 * Copyright (C) 2003 David Borowski.
 *
 * specifically written as a driver for the speakup screenreview
 * package it's not a general device driver.
 * This driver is for the Keynote Gold internal synthesizer.
 */
#include <linux/jiffies.h>
#include <linux/sched.h>
#include <linux/timer.h>
#include <linux/kthread.h>
#include <linux/serial_reg.h>

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

#define DRV_VERSION
#define SYNTH_IO_EXTENT
#define SWAIT
#define PROCSPEECH
#define SYNTH_CLEAR

static int synth_probe(struct spk_synth *synth);
static void keynote_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_port;
static int port_forced;
static unsigned int synth_portlist[] =;


enum default_vars_id {};


static struct var_t vars[NB_ID] =;

/*
 * These attributes will appear in /sys/accessibility/speakup/keypc.
 */
static struct kobj_attribute caps_start_attribute =;
static struct kobj_attribute caps_stop_attribute =;
static struct kobj_attribute pitch_attribute =;
static struct kobj_attribute rate_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_keypc =;

static inline bool synth_writable(void)
{}

static inline bool synth_full(void)
{}

static char *oops(void)
{}

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_probe(struct spk_synth *synth)
{}

static void keynote_release(struct spk_synth *synth)
{}

module_param_hw_named(port, port_forced, int, ioport, 0444);
module_param_named(start, synth_keypc.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(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_spk_synth();

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