#include "opl4_local.h"
#include <sound/initval.h>
#include <linux/ioport.h>
#include <linux/slab.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/io.h>
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
static inline void snd_opl4_wait(struct snd_opl4 *opl4)
{ … }
void snd_opl4_write(struct snd_opl4 *opl4, u8 reg, u8 value)
{ … }
EXPORT_SYMBOL(…);
u8 snd_opl4_read(struct snd_opl4 *opl4, u8 reg)
{ … }
EXPORT_SYMBOL(…);
void snd_opl4_read_memory(struct snd_opl4 *opl4, char *buf, int offset, int size)
{ … }
EXPORT_SYMBOL(…);
void snd_opl4_write_memory(struct snd_opl4 *opl4, const char *buf, int offset, int size)
{ … }
EXPORT_SYMBOL(…);
static void snd_opl4_enable_opl4(struct snd_opl4 *opl4)
{ … }
static int snd_opl4_detect(struct snd_opl4 *opl4)
{ … }
#if IS_ENABLED(CONFIG_SND_SEQUENCER)
static void snd_opl4_seq_dev_free(struct snd_seq_device *seq_dev)
{ … }
static int snd_opl4_create_seq_dev(struct snd_opl4 *opl4, int seq_device)
{ … }
#endif
static void snd_opl4_free(struct snd_opl4 *opl4)
{ … }
static int snd_opl4_dev_free(struct snd_device *device)
{ … }
int snd_opl4_create(struct snd_card *card,
unsigned long fm_port, unsigned long pcm_port,
int seq_device,
struct snd_opl3 **ropl3, struct snd_opl4 **ropl4)
{ … }
EXPORT_SYMBOL(…);