snd_opl3
struct snd_opl3;
void (*command) (struct snd_opl3 * opl3, unsigned short cmd, unsigned char val);
void (*private_free)(struct snd_opl3 *);
struct snd_opl3 **ropl3);
int snd_opl3_init(struct snd_opl3 *opl3);
struct snd_opl3 ** opl3);
int snd_opl3_timer_new(struct snd_opl3 * opl3, int timer1_dev, int timer2_dev);
int snd_opl3_hwdep_new(struct snd_opl3 * opl3, int device, int seq_device,
void snd_opl3_reset(struct snd_opl3 * opl3);
int snd_opl3_load_patch(struct snd_opl3 *opl3,
struct fm_patch *snd_opl3_find_patch(struct snd_opl3 *opl3, int prog, int bank,
void snd_opl3_clear_patches(struct snd_opl3 *opl3);
static inline void snd_opl3_clear_patches(struct snd_opl3 *opl3) {}
struct snd_opl3 **opl3, struct snd_opl4 **opl4);
static void snd_opl3_drum_note_set(struct snd_opl3 *opl3,
static void snd_opl3_drum_vol_set(struct snd_opl3 *opl3,
void snd_opl3_load_drums(struct snd_opl3 *opl3)
void snd_opl3_drum_switch(struct snd_opl3 *opl3, int note, int vel, int on_off,
static void snd_opl3_drum_voice_set(struct snd_opl3 *opl3,
struct snd_opl3 *opl3;
struct snd_opl3 *opl3;
struct snd_opl3 *opl3;
struct snd_opl3 *opl3;
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)
static void snd_opl2_command(struct snd_opl3 * opl3, unsigned short cmd, unsigned char val)
struct snd_opl3 *opl3;
static int snd_opl3_free(struct snd_opl3 *opl3)
struct snd_opl3 *opl3 = device->device_data;
struct snd_opl3 **ropl3)
struct snd_opl3 *opl3;
int snd_opl3_init(struct snd_opl3 *opl3)
struct snd_opl3 ** ropl3)
struct snd_opl3 *opl3;
int snd_opl3_timer_new(struct snd_opl3 * opl3, int timer1_dev, int timer2_dev)
static void snd_opl3_command(struct snd_opl3 * opl3, unsigned short cmd, unsigned char val)
int snd_opl3_hwdep_new(struct snd_opl3 * opl3,
sizeof(struct snd_opl3 *), &opl3->seq_dev) >= 0) {
*(struct snd_opl3 **)SNDRV_SEQ_DEVICE_ARGPTR(opl3->seq_dev) = opl3;
static int snd_opl3_detect(struct snd_opl3 * opl3)
static void debug_alloc(struct snd_opl3 *opl3, char *s, int voice)
static int opl3_get_voice(struct snd_opl3 *opl3, int instr_4op,
dev_dbg(((struct snd_opl3 *)(opl3))->card->dev, fmt, ##__VA_ARGS__)
struct snd_opl3 *opl3 = timer_container_of(opl3, t, tlist);
static void snd_opl3_start_timer(struct snd_opl3 *opl3)
struct snd_opl3 *opl3;
static void snd_opl3_kill_voice(struct snd_opl3 *opl3, int voice)
struct snd_opl3 *opl3;
struct snd_opl3 *opl3 = p;
static void snd_opl3_update_pitch(struct snd_opl3 *opl3, int voice)
static void snd_opl3_pitch_ctrl(struct snd_opl3 *opl3, struct snd_midi_channel *chan)
struct snd_opl3 *opl3;
void snd_opl3_free_seq_oss(struct snd_opl3 *opl3)
struct snd_opl3 *opl3 = closure;
struct snd_opl3 *opl3;
struct snd_opl3 *opl3;
struct snd_opl3 *opl3;
struct snd_opl3 *opl3 = private_data;
struct snd_opl3 *opl3 = private_data;
static int snd_opl3_oss_create_port(struct snd_opl3 * opl3)
void snd_opl3_init_seq_oss(struct snd_opl3 *opl3, char *name)
struct snd_opl3 *opl3 = private_data;
struct snd_opl3 *opl3 = private_data;
struct snd_opl3 *opl3 = private_data;
static int snd_opl3_synth_create_port(struct snd_opl3 * opl3)
struct snd_opl3 *opl3;
opl3 = *(struct snd_opl3 **)SNDRV_SEQ_DEVICE_ARGPTR(dev);
struct snd_opl3 *opl3;
int snd_opl3_synth_use_inc(struct snd_opl3 * opl3)
opl3 = *(struct snd_opl3 **)SNDRV_SEQ_DEVICE_ARGPTR(dev);
.argsize = sizeof(struct snd_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)
struct snd_opl3 *opl3 = private_data;
struct snd_opl3 *opl3 = hw->private_data;
struct snd_opl3 *opl3 = hw->private_data;
int snd_opl3_load_patch(struct snd_opl3 *opl3,
struct fm_patch *snd_opl3_find_patch(struct snd_opl3 *opl3, int prog, int bank,
void snd_opl3_clear_patches(struct snd_opl3 *opl3)
void snd_opl3_reset(struct snd_opl3 * opl3)
static int snd_opl3_play_note(struct snd_opl3 * opl3, struct snd_dm_fm_note * note)
static int snd_opl3_set_voice(struct snd_opl3 * opl3, struct snd_dm_fm_voice * voice)
static int snd_opl3_set_params(struct snd_opl3 * opl3, struct snd_dm_fm_params * params)
static int snd_opl3_set_mode(struct snd_opl3 * opl3, int mode)
static int snd_opl3_set_connection(struct snd_opl3 * opl3, int connection)
static int snd_opl3_play_note(struct snd_opl3 * opl3, struct snd_dm_fm_note * note);
static int snd_opl3_set_voice(struct snd_opl3 * opl3, struct snd_dm_fm_voice * voice);
static int snd_opl3_set_params(struct snd_opl3 * opl3, struct snd_dm_fm_params * params);
static int snd_opl3_set_mode(struct snd_opl3 * opl3, int mode);
static int snd_opl3_set_connection(struct snd_opl3 * opl3, int connection);
struct snd_opl3 *opl3 = hw->private_data;
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);
void snd_opl3_load_drums(struct snd_opl3 *opl3);
void snd_opl3_drum_switch(struct snd_opl3 *opl3, int note, int vel, int on_off, struct snd_midi_channel *chan);
void snd_opl3_init_seq_oss(struct snd_opl3 *opl3, char *name);
void snd_opl3_free_seq_oss(struct snd_opl3 *opl3);
struct snd_opl3 **ropl3, struct snd_opl4 **ropl4)
struct snd_opl3 *opl3;
struct snd_opl3 *opl3;
struct snd_opl3 *opl3;
struct snd_opl3 *opl3;
struct snd_opl3 *opl3;
struct snd_opl3 *opl3;
struct snd_opl3 *opl3;
struct snd_opl3 *opl3;
struct snd_opl3 *opl3;
struct snd_opl3 *opl3;
struct snd_opl3 *opl3;
struct snd_opl3 *opl3;
struct snd_opl3 *opl3;
struct snd_opl3 *opl3 = NULL;
struct snd_opl3 *opl3 = NULL;
struct snd_opl3 *opl3;
struct snd_opl3 *opl3;
struct snd_opl3 *opl3;
struct snd_opl3 *opl3;
struct snd_opl3 *opl3;
struct snd_opl3 *opl3;
struct snd_opl3 *opl3;
struct snd_opl3 *opl3;
struct snd_opl3 *opl3;
static void snd_cs4281_opl3_command(struct snd_opl3 *opl3, unsigned short cmd,
struct snd_opl3 *opl3;
struct snd_opl3 *opl3;
struct snd_opl3 *opl3;
struct snd_opl3 *opl3;
struct snd_opl3 *opl3;
struct snd_opl3 *opl3;