linux/sound/isa/es1688/es1688_lib.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 *  Copyright (c) by Jaroslav Kysela <[email protected]>
 *  Routines for control of ESS ES1688/688/488 chip
 */

#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/delay.h>
#include <linux/slab.h>
#include <linux/ioport.h>
#include <linux/module.h>
#include <linux/io.h>
#include <sound/core.h>
#include <sound/es1688.h>
#include <sound/initval.h>

#include <asm/dma.h>

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

static int snd_es1688_dsp_command(struct snd_es1688 *chip, unsigned char val)
{}

static int snd_es1688_dsp_get_byte(struct snd_es1688 *chip)
{}

static int snd_es1688_write(struct snd_es1688 *chip,
			    unsigned char reg, unsigned char data)
{}

static int snd_es1688_read(struct snd_es1688 *chip, unsigned char reg)
{}

void snd_es1688_mixer_write(struct snd_es1688 *chip,
			    unsigned char reg, unsigned char data)
{}

static unsigned char snd_es1688_mixer_read(struct snd_es1688 *chip, unsigned char reg)
{}

int snd_es1688_reset(struct snd_es1688 *chip)
{}
EXPORT_SYMBOL();

static int snd_es1688_probe(struct snd_es1688 *chip)
{}

static int snd_es1688_init(struct snd_es1688 * chip, int enable)
{}

/*

 */

static const struct snd_ratnum clocks[2] =;

static const struct snd_pcm_hw_constraint_ratnums hw_constraints_clocks  =;

static void snd_es1688_set_rate(struct snd_es1688 *chip, struct snd_pcm_substream *substream)
{}

static int snd_es1688_trigger(struct snd_es1688 *chip, int cmd, unsigned char value)
{}

static int snd_es1688_playback_prepare(struct snd_pcm_substream *substream)
{}

static int snd_es1688_playback_trigger(struct snd_pcm_substream *substream,
				       int cmd)
{}

static int snd_es1688_capture_prepare(struct snd_pcm_substream *substream)
{}

static int snd_es1688_capture_trigger(struct snd_pcm_substream *substream,
				      int cmd)
{}

static irqreturn_t snd_es1688_interrupt(int irq, void *dev_id)
{}

static snd_pcm_uframes_t snd_es1688_playback_pointer(struct snd_pcm_substream *substream)
{}

static snd_pcm_uframes_t snd_es1688_capture_pointer(struct snd_pcm_substream *substream)
{}

/*

 */

static const struct snd_pcm_hardware snd_es1688_playback =;

static const struct snd_pcm_hardware snd_es1688_capture =;

/*

 */

static int snd_es1688_playback_open(struct snd_pcm_substream *substream)
{}

static int snd_es1688_capture_open(struct snd_pcm_substream *substream)
{}

static int snd_es1688_playback_close(struct snd_pcm_substream *substream)
{}

static int snd_es1688_capture_close(struct snd_pcm_substream *substream)
{}

static int snd_es1688_free(struct snd_es1688 *chip)
{}

static int snd_es1688_dev_free(struct snd_device *device)
{}

static const char *snd_es1688_chip_id(struct snd_es1688 *chip)
{}

int snd_es1688_create(struct snd_card *card,
		      struct snd_es1688 *chip,
		      unsigned long port,
		      unsigned long mpu_port,
		      int irq,
		      int mpu_irq,
		      int dma8,
		      unsigned short hardware)
{}

static const struct snd_pcm_ops snd_es1688_playback_ops =;

static const struct snd_pcm_ops snd_es1688_capture_ops =;

int snd_es1688_pcm(struct snd_card *card, struct snd_es1688 *chip, int device)
{}

/*
 *  MIXER part
 */

static int snd_es1688_info_mux(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)
{}

static int snd_es1688_get_mux(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)
{}

static int snd_es1688_put_mux(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)
{}

#define ES1688_SINGLE(xname, xindex, reg, shift, mask, invert)

static int snd_es1688_info_single(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)
{}

static int snd_es1688_get_single(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)
{}

static int snd_es1688_put_single(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)
{}

#define ES1688_DOUBLE(xname, xindex, left_reg, right_reg, shift_left, shift_right, mask, invert)

static int snd_es1688_info_double(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)
{}

static int snd_es1688_get_double(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)
{}

static int snd_es1688_put_double(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)
{}

static const struct snd_kcontrol_new snd_es1688_controls[] =;

#define ES1688_INIT_TABLE_SIZE

static const unsigned char snd_es1688_init_table[][2] =;
                                        
int snd_es1688_mixer(struct snd_card *card, struct snd_es1688 *chip)
{}

EXPORT_SYMBOL();
EXPORT_SYMBOL();
EXPORT_SYMBOL();
EXPORT_SYMBOL();