#include "opl3_voice.h"
#include <linux/init.h>
#include <linux/moduleparam.h>
#include <linux/module.h>
#include <sound/initval.h>
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;
bool use_internal_drums = …;
module_param(use_internal_drums, bool, 0444);
MODULE_PARM_DESC(…) …;
int snd_opl3_synth_use_inc(struct snd_opl3 * opl3)
{ … }
void snd_opl3_synth_use_dec(struct snd_opl3 * opl3)
{ … }
int snd_opl3_synth_setup(struct snd_opl3 * opl3)
{ … }
void snd_opl3_synth_cleanup(struct snd_opl3 * opl3)
{ … }
static int snd_opl3_synth_use(void *private_data, struct snd_seq_port_subscribe * info)
{ … }
static int snd_opl3_synth_unuse(void *private_data, struct snd_seq_port_subscribe * info)
{ … }
const struct snd_midi_op opl3_ops = …;
static int snd_opl3_synth_event_input(struct snd_seq_event * ev, int direct,
void *private_data, int atomic, int hop)
{ … }
static void snd_opl3_synth_free_port(void *private_data)
{ … }
static int snd_opl3_synth_create_port(struct snd_opl3 * opl3)
{ … }
static int snd_opl3_seq_probe(struct device *_dev)
{ … }
static int snd_opl3_seq_remove(struct device *_dev)
{ … }
static struct snd_seq_driver opl3_seq_driver = …;
module_snd_seq_driver(…) …;