#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/pci.h>
#include <linux/slab.h>
#include <linux/module.h>
#include <sound/core.h>
#include <sound/initval.h>
#include <sound/tlv.h>
#include "vx222.h"
#define CARD_NAME …
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
static int index[SNDRV_CARDS] = …;
static char *id[SNDRV_CARDS] = …;
static bool enable[SNDRV_CARDS] = …;
static bool mic[SNDRV_CARDS];
static int ibl[SNDRV_CARDS];
module_param_array(…);
MODULE_PARM_DESC(…) …;
module_param_array(…);
MODULE_PARM_DESC(…) …;
module_param_array(…);
MODULE_PARM_DESC(…) …;
module_param_array(…);
MODULE_PARM_DESC(…) …;
module_param_array(…);
MODULE_PARM_DESC(…) …;
enum { … };
static const struct pci_device_id snd_vx222_ids[] = …;
MODULE_DEVICE_TABLE(pci, snd_vx222_ids);
static const DECLARE_TLV_DB_SCALE(db_scale_old_vol, -11350, 50, 0);
static const DECLARE_TLV_DB_SCALE(db_scale_akm, -7350, 50, 0);
static const struct snd_vx_hardware vx222_old_hw = …;
static const struct snd_vx_hardware vx222_v2_hw = …;
static const struct snd_vx_hardware vx222_mic_hw = …;
static int snd_vx222_create(struct snd_card *card, struct pci_dev *pci,
const struct snd_vx_hardware *hw,
struct snd_vx222 **rchip)
{ … }
static int snd_vx222_probe(struct pci_dev *pci,
const struct pci_device_id *pci_id)
{ … }
#ifdef CONFIG_PM_SLEEP
static int snd_vx222_suspend(struct device *dev)
{ … }
static int snd_vx222_resume(struct device *dev)
{ … }
static SIMPLE_DEV_PM_OPS(snd_vx222_pm, snd_vx222_suspend, snd_vx222_resume);
#define SND_VX222_PM_OPS …
#else
#define SND_VX222_PM_OPS …
#endif
static struct pci_driver vx222_driver = …;
module_pci_driver(…) …;