#include <linux/init.h>
#include <linux/slab.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/device.h>
#include <linux/spinlock.h>
#include <media/v4l2-device.h>
#include <sound/core.h>
#include <sound/initval.h>
#include "cx18-driver.h"
#include "cx18-version.h"
#include "cx18-alsa.h"
#include "cx18-alsa-pcm.h"
int cx18_alsa_debug;
#define CX18_DEBUG_ALSA_INFO(fmt, arg...) …
module_param_named(debug, cx18_alsa_debug, int, 0644);
MODULE_PARM_DESC(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_VERSION(…);
static inline
struct snd_cx18_card *to_snd_cx18_card(struct v4l2_device *v4l2_dev)
{ … }
static void snd_cx18_card_free(struct snd_cx18_card *cxsc)
{ … }
static void snd_cx18_card_private_free(struct snd_card *sc)
{ … }
static int snd_cx18_card_create(struct v4l2_device *v4l2_dev,
struct snd_card *sc,
struct snd_cx18_card **cxsc)
{ … }
static int snd_cx18_card_set_names(struct snd_cx18_card *cxsc)
{ … }
static int snd_cx18_init(struct v4l2_device *v4l2_dev)
{ … }
static int cx18_alsa_load(struct cx18 *cx)
{ … }
static int __init cx18_alsa_init(void)
{ … }
static void __exit snd_cx18_exit(struct snd_cx18_card *cxsc)
{ … }
static int __exit cx18_alsa_exit_callback(struct device *dev, void *data)
{ … }
static void __exit cx18_alsa_exit(void)
{ … }
module_init(…) …;
module_exit(cx18_alsa_exit);