#define pr_fmt(fmt) …
#define MODULE_NAME …
#define BULK_SIZE …
#define PACKET_SIZE …
#define READ_REQ_SIZE …
#define MAX_MODES …
#define SE401_QUANT_FACT …
#include <linux/input.h>
#include <linux/slab.h>
#include "gspca.h"
#include "se401.h"
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
enum { … };
struct sd { … };
static void se401_write_req(struct gspca_dev *gspca_dev, u16 req, u16 value,
int silent)
{ … }
static void se401_read_req(struct gspca_dev *gspca_dev, u16 req, int silent)
{ … }
static void se401_set_feature(struct gspca_dev *gspca_dev,
u16 selector, u16 param)
{ … }
static int se401_get_feature(struct gspca_dev *gspca_dev, u16 selector)
{ … }
static void setbrightness(struct gspca_dev *gspca_dev, s32 val)
{ … }
static void setgain(struct gspca_dev *gspca_dev, s32 val)
{ … }
static void setexposure(struct gspca_dev *gspca_dev, s32 val, s32 freq)
{ … }
static int sd_config(struct gspca_dev *gspca_dev,
const struct usb_device_id *id)
{ … }
static int sd_init(struct gspca_dev *gspca_dev)
{ … }
static int sd_isoc_init(struct gspca_dev *gspca_dev)
{ … }
static int sd_start(struct gspca_dev *gspca_dev)
{ … }
static void sd_stopN(struct gspca_dev *gspca_dev)
{ … }
static void sd_dq_callback(struct gspca_dev *gspca_dev)
{ … }
static void sd_complete_frame(struct gspca_dev *gspca_dev, u8 *data, int len)
{ … }
static void sd_pkt_scan_janggu(struct gspca_dev *gspca_dev, u8 *data, int len)
{ … }
static void sd_pkt_scan_bayer(struct gspca_dev *gspca_dev, u8 *data, int len)
{ … }
static void sd_pkt_scan(struct gspca_dev *gspca_dev, u8 *data, int len)
{ … }
#if IS_ENABLED(CONFIG_INPUT)
static int sd_int_pkt_scan(struct gspca_dev *gspca_dev, u8 *data, int len)
{ … }
#endif
static int sd_s_ctrl(struct v4l2_ctrl *ctrl)
{ … }
static const struct v4l2_ctrl_ops sd_ctrl_ops = …;
static int sd_init_controls(struct gspca_dev *gspca_dev)
{ … }
static const struct sd_desc sd_desc = …;
static const struct usb_device_id device_table[] = …;
MODULE_DEVICE_TABLE(usb, device_table);
static int sd_probe(struct usb_interface *intf,
const struct usb_device_id *id)
{ … }
static int sd_pre_reset(struct usb_interface *intf)
{ … }
static int sd_post_reset(struct usb_interface *intf)
{ … }
static struct usb_driver sd_driver = …;
module_usb_driver(…) …;