#define pr_fmt(fmt) …
#define MODULE_NAME …
#include <linux/input.h>
#include "gspca.h"
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
#define EXPOSURE_MAX …
struct sd { … };
static const struct v4l2_pix_format sif_012a_mode[] = …;
static const struct v4l2_pix_format sif_072a_mode[] = …;
#define SPCA561_OFFSET_SNAP …
#define SPCA561_OFFSET_TYPE …
#define SPCA561_OFFSET_COMPRESS …
#define SPCA561_OFFSET_FRAMSEQ …
#define SPCA561_OFFSET_GPIO …
#define SPCA561_OFFSET_USBBUFF …
#define SPCA561_OFFSET_WIN2GRAVE …
#define SPCA561_OFFSET_WIN2RAVE …
#define SPCA561_OFFSET_WIN2BAVE …
#define SPCA561_OFFSET_WIN2GBAVE …
#define SPCA561_OFFSET_WIN1GRAVE …
#define SPCA561_OFFSET_WIN1RAVE …
#define SPCA561_OFFSET_WIN1BAVE …
#define SPCA561_OFFSET_WIN1GBAVE …
#define SPCA561_OFFSET_FREQ …
#define SPCA561_OFFSET_VSYNC …
#define SPCA561_INDEX_I2C_BASE …
#define SPCA561_SNAPBIT …
#define SPCA561_SNAPCTRL …
static const u16 rev72a_reset[][2] = …;
static const __u16 rev72a_init_data1[][2] = …;
static const u16 rev72a_init_sensor1[][2] = …;
static const __u16 rev72a_init_data2[][2] = …;
static const u16 rev72a_init_sensor2[][2] = …;
static const __u16 Pb100_1map8300[][2] = …;
static const __u16 Pb100_2map8300[][2] = …;
static const __u16 spca561_161rev12A_data1[][2] = …;
static const __u16 spca561_161rev12A_data2[][2] = …;
static void reg_w_val(struct gspca_dev *gspca_dev, __u16 index, __u8 value)
{ … }
static void write_vector(struct gspca_dev *gspca_dev,
const __u16 data[][2])
{ … }
static void reg_r(struct gspca_dev *gspca_dev,
__u16 index, __u16 length)
{ … }
static void reg_w_buf(struct gspca_dev *gspca_dev,
__u16 index, __u16 len)
{ … }
static void i2c_write(struct gspca_dev *gspca_dev, __u16 value, __u16 reg)
{ … }
static int i2c_read(struct gspca_dev *gspca_dev, __u16 reg, __u8 mode)
{ … }
static void sensor_mapwrite(struct gspca_dev *gspca_dev,
const __u16 (*sensormap)[2])
{ … }
static void write_sensor_72a(struct gspca_dev *gspca_dev,
const __u16 (*sensor)[2])
{ … }
static void init_161rev12A(struct gspca_dev *gspca_dev)
{ … }
static int sd_config(struct gspca_dev *gspca_dev,
const struct usb_device_id *id)
{ … }
static int sd_init_12a(struct gspca_dev *gspca_dev)
{ … }
static int sd_init_72a(struct gspca_dev *gspca_dev)
{ … }
static void setbrightness(struct gspca_dev *gspca_dev, s32 val)
{ … }
static void setwhite(struct gspca_dev *gspca_dev, s32 white, s32 contrast)
{ … }
static void setexposure(struct gspca_dev *gspca_dev, s32 val)
{ … }
static void setgain(struct gspca_dev *gspca_dev, s32 val)
{ … }
static void setautogain(struct gspca_dev *gspca_dev, s32 val)
{ … }
static int sd_start_12a(struct gspca_dev *gspca_dev)
{ … }
static int sd_start_72a(struct gspca_dev *gspca_dev)
{ … }
static void sd_stopN(struct gspca_dev *gspca_dev)
{ … }
static void do_autogain(struct gspca_dev *gspca_dev)
{ … }
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
u8 *data,
int len)
{ … }
static int sd_s_ctrl(struct v4l2_ctrl *ctrl)
{ … }
static const struct v4l2_ctrl_ops sd_ctrl_ops = …;
static int sd_init_controls_12a(struct gspca_dev *gspca_dev)
{ … }
static int sd_init_controls_72a(struct gspca_dev *gspca_dev)
{ … }
static const struct sd_desc sd_desc_12a = …;
static const struct sd_desc sd_desc_72a = …;
static const struct sd_desc *sd_desc[2] = …;
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 struct usb_driver sd_driver = …;
module_usb_driver(…) …;