#include <sound/opl3.h>
#include <linux/io.h>
#include <linux/delay.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/ioport.h>
#include <sound/minors.h>
#include "opl3_voice.h"
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
static void snd_opl2_command(struct snd_opl3 * opl3, unsigned short cmd, unsigned char val)
{ … }
static void snd_opl3_command(struct snd_opl3 * opl3, unsigned short cmd, unsigned char val)
{ … }
static int snd_opl3_detect(struct snd_opl3 * opl3)
{ … }
static int snd_opl3_timer1_start(struct snd_timer * timer)
{ … }
static int snd_opl3_timer1_stop(struct snd_timer * timer)
{ … }
static int snd_opl3_timer2_start(struct snd_timer * timer)
{ … }
static int snd_opl3_timer2_stop(struct snd_timer * timer)
{ … }
static const struct snd_timer_hardware snd_opl3_timer1 = …;
static const struct snd_timer_hardware snd_opl3_timer2 = …;
static int snd_opl3_timer1_init(struct snd_opl3 * opl3, int timer_no)
{ … }
static int snd_opl3_timer2_init(struct snd_opl3 * opl3, int timer_no)
{ … }
void snd_opl3_interrupt(struct snd_hwdep * hw)
{ … }
EXPORT_SYMBOL(…);
static int snd_opl3_free(struct snd_opl3 *opl3)
{ … }
static int snd_opl3_dev_free(struct snd_device *device)
{ … }
int snd_opl3_new(struct snd_card *card,
unsigned short hardware,
struct snd_opl3 **ropl3)
{ … }
EXPORT_SYMBOL(…);
int snd_opl3_init(struct snd_opl3 *opl3)
{ … }
EXPORT_SYMBOL(…);
int snd_opl3_create(struct snd_card *card,
unsigned long l_port,
unsigned long r_port,
unsigned short hardware,
int integrated,
struct snd_opl3 ** ropl3)
{ … }
EXPORT_SYMBOL(…);
int snd_opl3_timer_new(struct snd_opl3 * opl3, int timer1_dev, int timer2_dev)
{ … }
EXPORT_SYMBOL(…);
int snd_opl3_hwdep_new(struct snd_opl3 * opl3,
int device, int seq_device,
struct snd_hwdep ** rhwdep)
{ … }
EXPORT_SYMBOL(…);