#include <linux/module.h>
#include <linux/init.h>
#include <linux/pci.h>
#include <linux/delay.h>
#include <linux/slab.h>
#include <sound/initval.h>
#include <sound/control.h>
#include <sound/info.h>
#include "lx6464es.h"
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;
static int index[SNDRV_CARDS] = …;
static char *id[SNDRV_CARDS] = …;
static bool enable[SNDRV_CARDS] = …;
module_param_array(…);
MODULE_PARM_DESC(…) …;
module_param_array(…);
MODULE_PARM_DESC(…) …;
module_param_array(…);
MODULE_PARM_DESC(…) …;
static const char card_name[] = …;
#define PCI_DEVICE_ID_PLX_LX6464ES …
static const struct pci_device_id snd_lx6464es_ids[] = …;
MODULE_DEVICE_TABLE(pci, snd_lx6464es_ids);
#define CHIPSC_RESET_XILINX …
static const struct snd_pcm_hardware lx_caps = …;
static int lx_set_granularity(struct lx6464es *chip, u32 gran);
static int lx_hardware_open(struct lx6464es *chip,
struct snd_pcm_substream *substream)
{ … }
static int lx_hardware_start(struct lx6464es *chip,
struct snd_pcm_substream *substream)
{ … }
static int lx_hardware_stop(struct lx6464es *chip,
struct snd_pcm_substream *substream)
{ … }
static int lx_hardware_close(struct lx6464es *chip,
struct snd_pcm_substream *substream)
{ … }
static int lx_pcm_open(struct snd_pcm_substream *substream)
{ … }
static int lx_pcm_close(struct snd_pcm_substream *substream)
{ … }
static snd_pcm_uframes_t lx_pcm_stream_pointer(struct snd_pcm_substream
*substream)
{ … }
static int lx_pcm_prepare(struct snd_pcm_substream *substream)
{ … }
static int lx_pcm_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *hw_params, int is_capture)
{ … }
static int lx_pcm_hw_params_playback(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *hw_params)
{ … }
static int lx_pcm_hw_params_capture(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *hw_params)
{ … }
static int lx_pcm_hw_free(struct snd_pcm_substream *substream)
{ … }
static void lx_trigger_start(struct lx6464es *chip, struct lx_stream *lx_stream)
{ … }
static void lx_trigger_stop(struct lx6464es *chip, struct lx_stream *lx_stream)
{ … }
static void lx_trigger_dispatch_stream(struct lx6464es *chip,
struct lx_stream *lx_stream)
{ … }
static int lx_pcm_trigger_dispatch(struct lx6464es *chip,
struct lx_stream *lx_stream, int cmd)
{ … }
static int lx_pcm_trigger(struct snd_pcm_substream *substream, int cmd)
{ … }
static void snd_lx6464es_free(struct snd_card *card)
{ … }
static int lx_init_xilinx_reset(struct lx6464es *chip)
{ … }
static int lx_init_xilinx_test(struct lx6464es *chip)
{ … }
static int lx_init_ethersound_config(struct lx6464es *chip)
{ … }
static int lx_init_get_version_features(struct lx6464es *chip)
{ … }
static int lx_set_granularity(struct lx6464es *chip, u32 gran)
{ … }
static int lx_init_dsp(struct lx6464es *chip)
{ … }
static const struct snd_pcm_ops lx_ops_playback = …;
static const struct snd_pcm_ops lx_ops_capture = …;
static int lx_pcm_create(struct lx6464es *chip)
{ … }
static int lx_control_playback_info(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_info *uinfo)
{ … }
static int lx_control_playback_get(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol)
{ … }
static int lx_control_playback_put(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol)
{ … }
static const struct snd_kcontrol_new lx_control_playback_switch = …;
static void lx_proc_levels_read(struct snd_info_entry *entry,
struct snd_info_buffer *buffer)
{ … }
static int lx_proc_create(struct snd_card *card, struct lx6464es *chip)
{ … }
static int snd_lx6464es_create(struct snd_card *card,
struct pci_dev *pci)
{ … }
static int snd_lx6464es_probe(struct pci_dev *pci,
const struct pci_device_id *pci_id)
{ … }
static struct pci_driver lx6464es_driver = …;
module_pci_driver(…) …;