#include <linux/init.h>
#include <linux/pci.h>
#include <linux/moduleparam.h>
#include <linux/pci_ids.h>
#include <linux/module.h>
#include <sound/core.h>
#include <sound/initval.h>
#include "ctatc.h"
#include "cthardware.h"
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
static unsigned int reference_rate = …;
static unsigned int multiple = …;
MODULE_PARM_DESC(…) …;
module_param(reference_rate, uint, 0444);
MODULE_PARM_DESC(…) …;
module_param(multiple, uint, 0444);
static int index[SNDRV_CARDS] = …;
static char *id[SNDRV_CARDS] = …;
static bool enable[SNDRV_CARDS] = …;
static unsigned int subsystem[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(…) …;
static const struct pci_device_id ct_pci_dev_ids[] = …;
MODULE_DEVICE_TABLE(pci, ct_pci_dev_ids);
static int
ct_card_probe(struct pci_dev *pci, const struct pci_device_id *pci_id)
{ … }
static void ct_card_remove(struct pci_dev *pci)
{ … }
#ifdef CONFIG_PM_SLEEP
static int ct_card_suspend(struct device *dev)
{ … }
static int ct_card_resume(struct device *dev)
{ … }
static SIMPLE_DEV_PM_OPS(ct_card_pm, ct_card_suspend, ct_card_resume);
#define CT_CARD_PM_OPS …
#else
#define CT_CARD_PM_OPS …
#endif
static struct pci_driver ct_driver = …;
module_pci_driver(…) …;