#include <linux/kernel.h>
#include <linux/errno.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/module.h>
#include <linux/uaccess.h>
#include <linux/atomic.h>
#include <linux/usb.h>
#include <linux/mutex.h>
#include <linux/i2c.h>
#include <linux/videodev2.h>
#include <media/v4l2-dev.h>
#include <media/v4l2-common.h>
#include "hdpvr.h"
static int video_nr[HDPVR_MAX] = …;
module_param_array(…);
MODULE_PARM_DESC(…) …;
static atomic_t dev_nr = …;
int hdpvr_debug;
module_param(hdpvr_debug, int, S_IRUGO|S_IWUSR);
MODULE_PARM_DESC(…) …;
static uint default_video_input = …;
module_param(default_video_input, uint, S_IRUGO|S_IWUSR);
MODULE_PARM_DESC(…) …;
static uint default_audio_input = …;
module_param(default_audio_input, uint, S_IRUGO|S_IWUSR);
MODULE_PARM_DESC(…) …;
static bool boost_audio;
module_param(boost_audio, bool, S_IRUGO|S_IWUSR);
MODULE_PARM_DESC(…) …;
static const struct usb_device_id hdpvr_table[] = …;
MODULE_DEVICE_TABLE(usb, hdpvr_table);
void hdpvr_delete(struct hdpvr_device *dev)
{ … }
static void challenge(u8 *bytes)
{ … }
static int device_authorization(struct hdpvr_device *dev)
{ … }
static int hdpvr_device_init(struct hdpvr_device *dev)
{ … }
static const struct hdpvr_options hdpvr_default_options = …;
static int hdpvr_probe(struct usb_interface *interface,
const struct usb_device_id *id)
{ … }
static void hdpvr_disconnect(struct usb_interface *interface)
{ … }
static struct usb_driver hdpvr_usb_driver = …;
module_usb_driver(…) …;
MODULE_LICENSE(…) …;
MODULE_VERSION(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;