#include "au0828.h"
#include "au8522.h"
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/videodev2.h>
#include <media/v4l2-common.h>
#include <linux/mutex.h>
#include <media/tuner.h>
int au0828_debug;
module_param_named(debug, au0828_debug, int, 0644);
MODULE_PARM_DESC(…) …;
static unsigned int disable_usb_speed_check;
module_param(disable_usb_speed_check, int, 0444);
MODULE_PARM_DESC(…) …;
#define _AU0828_BULKPIPE …
#define _BULKPIPESIZE …
static int send_control_msg(struct au0828_dev *dev, u16 request, u32 value,
u16 index);
static int recv_control_msg(struct au0828_dev *dev, u16 request, u32 value,
u16 index, unsigned char *cp, u16 size);
#define CMD_REQUEST_IN …
#define CMD_REQUEST_OUT …
u32 au0828_readreg(struct au0828_dev *dev, u16 reg)
{ … }
u32 au0828_writereg(struct au0828_dev *dev, u16 reg, u32 val)
{ … }
static int send_control_msg(struct au0828_dev *dev, u16 request, u32 value,
u16 index)
{ … }
static int recv_control_msg(struct au0828_dev *dev, u16 request, u32 value,
u16 index, unsigned char *cp, u16 size)
{ … }
#ifdef CONFIG_MEDIA_CONTROLLER
static void au0828_media_graph_notify(struct media_entity *new,
void *notify_data);
#endif
static void au0828_unregister_media_device(struct au0828_dev *dev)
{ … }
void au0828_usb_release(struct au0828_dev *dev)
{ … }
static void au0828_usb_disconnect(struct usb_interface *interface)
{ … }
static int au0828_media_device_init(struct au0828_dev *dev,
struct usb_device *udev)
{ … }
#ifdef CONFIG_MEDIA_CONTROLLER
static void au0828_media_graph_notify(struct media_entity *new,
void *notify_data)
{ … }
static bool au0828_is_link_shareable(struct media_entity *owner,
struct media_entity *entity)
{ … }
static int au0828_enable_source(struct media_entity *entity,
struct media_pipeline *pipe)
{ … }
static void au0828_disable_source(struct media_entity *entity)
{ … }
#endif
static int au0828_media_device_register(struct au0828_dev *dev,
struct usb_device *udev)
{ … }
static int au0828_usb_probe(struct usb_interface *interface,
const struct usb_device_id *id)
{ … }
static int au0828_suspend(struct usb_interface *interface,
pm_message_t message)
{ … }
static int au0828_resume(struct usb_interface *interface)
{ … }
static struct usb_driver au0828_usb_driver = …;
static int __init au0828_init(void)
{ … }
static void __exit au0828_exit(void)
{ … }
module_init(…) …;
module_exit(au0828_exit);
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_VERSION(…) …;