#include <linux/module.h>
#include <linux/slab.h>
#include <sound/initval.h>
#include "chip.h"
#include "pcm.h"
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
static int index[SNDRV_CARDS] = …;
static char *id[SNDRV_CARDS] = …;
static bool enable[SNDRV_CARDS] = …;
#define DRIVER_NAME …
#define CARD_NAME …
module_param_array(…);
MODULE_PARM_DESC(…) …;
module_param_array(…);
MODULE_PARM_DESC(…) …;
module_param_array(…);
MODULE_PARM_DESC(…) …;
static DEFINE_MUTEX(register_mutex);
struct hiface_vendor_quirk { … };
static int hiface_chip_create(struct usb_interface *intf,
struct usb_device *device, int idx,
const struct hiface_vendor_quirk *quirk,
struct hiface_chip **rchip)
{ … }
static int hiface_chip_probe(struct usb_interface *intf,
const struct usb_device_id *usb_id)
{ … }
static void hiface_chip_disconnect(struct usb_interface *intf)
{ … }
static const struct usb_device_id device_table[] = …;
MODULE_DEVICE_TABLE(usb, device_table);
static struct usb_driver hiface_usb_driver = …;
module_usb_driver(…) …;