#define pr_fmt(fmt) …
#include <linux/input.h>
#include "gspca.h"
#include "jpeg.h"
#include <linux/dmi.h>
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
#define SCALE_MASK …
#define SCALE_160x120 …
#define SCALE_320x240 …
#define SCALE_640x480 …
#define SCALE_1280x1024 …
#define MODE_RAW …
#define MODE_JPEG …
#define MODE_SXGA …
#define SENSOR_OV9650 …
#define SENSOR_OV9655 …
#define SENSOR_SOI968 …
#define SENSOR_OV7660 …
#define SENSOR_OV7670 …
#define SENSOR_MT9V011 …
#define SENSOR_MT9V111 …
#define SENSOR_MT9V112 …
#define SENSOR_MT9M001 …
#define SENSOR_MT9M111 …
#define SENSOR_MT9M112 …
#define SENSOR_HV7131R …
#define SENSOR_MT9VPRB …
#define HAS_NO_BUTTON …
#define LED_REVERSE …
#define FLIP_DETECT …
#define HAS_LED_TORCH …
struct sd { … };
static void qual_upd(struct work_struct *work);
struct i2c_reg_u8 { … };
struct i2c_reg_u16 { … };
static const struct dmi_system_id flip_dmi_table[] = …;
static const struct v4l2_pix_format vga_mode[] = …;
static const struct v4l2_pix_format sxga_mode[] = …;
static const struct v4l2_pix_format mono_mode[] = …;
static const s16 hsv_red_x[] = …;
static const s16 hsv_red_y[] = …;
static const s16 hsv_green_x[] = …;
static const s16 hsv_green_y[] = …;
static const s16 hsv_blue_x[] = …;
static const s16 hsv_blue_y[] = …;
static const u16 bridge_init[][2] = …;
static const u8 ov_gain[] = …;
static const u16 micron1_gain[] = …;
static const u16 micron2_gain[] = …;
static const u8 hv7131r_gain[] = …;
static const struct i2c_reg_u8 soi968_init[] = …;
static const struct i2c_reg_u8 ov7660_init[] = …;
static const struct i2c_reg_u8 ov7670_init[] = …;
static const struct i2c_reg_u8 ov9650_init[] = …;
static const struct i2c_reg_u8 ov9655_init[] = …;
static const struct i2c_reg_u16 mt9v112_init[] = …;
static const struct i2c_reg_u16 mt9v111_init[] = …;
static const struct i2c_reg_u16 mt9v011_init[] = …;
static const struct i2c_reg_u16 mt9m001_init[] = …;
static const struct i2c_reg_u16 mt9m111_init[] = …;
static const struct i2c_reg_u16 mt9m112_init[] = …;
static const struct i2c_reg_u8 hv7131r_init[] = …;
static void reg_r(struct gspca_dev *gspca_dev, u16 reg, u16 length)
{ … }
static void reg_w(struct gspca_dev *gspca_dev, u16 reg,
const u8 *buffer, int length)
{ … }
static void reg_w1(struct gspca_dev *gspca_dev, u16 reg, const u8 value)
{ … }
static void i2c_w(struct gspca_dev *gspca_dev, const u8 *buffer)
{ … }
static void i2c_w1(struct gspca_dev *gspca_dev, u8 reg, u8 val)
{ … }
static void i2c_w1_buf(struct gspca_dev *gspca_dev,
const struct i2c_reg_u8 *buf, int sz)
{ … }
static void i2c_w2(struct gspca_dev *gspca_dev, u8 reg, u16 val)
{ … }
static void i2c_w2_buf(struct gspca_dev *gspca_dev,
const struct i2c_reg_u16 *buf, int sz)
{ … }
static void i2c_r1(struct gspca_dev *gspca_dev, u8 reg, u8 *val)
{ … }
static void i2c_r2(struct gspca_dev *gspca_dev, u8 reg, u16 *val)
{ … }
static void ov9650_init_sensor(struct gspca_dev *gspca_dev)
{ … }
static void ov9655_init_sensor(struct gspca_dev *gspca_dev)
{ … }
static void soi968_init_sensor(struct gspca_dev *gspca_dev)
{ … }
static void ov7660_init_sensor(struct gspca_dev *gspca_dev)
{ … }
static void ov7670_init_sensor(struct gspca_dev *gspca_dev)
{ … }
static void mt9v_init_sensor(struct gspca_dev *gspca_dev)
{ … }
static void mt9m112_init_sensor(struct gspca_dev *gspca_dev)
{ … }
static void mt9m111_init_sensor(struct gspca_dev *gspca_dev)
{ … }
static void mt9m001_init_sensor(struct gspca_dev *gspca_dev)
{ … }
static void hv7131r_init_sensor(struct gspca_dev *gspca_dev)
{ … }
static void set_cmatrix(struct gspca_dev *gspca_dev,
s32 brightness, s32 contrast, s32 satur, s32 hue)
{ … }
static void set_gamma(struct gspca_dev *gspca_dev, s32 val)
{ … }
static void set_redblue(struct gspca_dev *gspca_dev, s32 blue, s32 red)
{ … }
static void set_hvflip(struct gspca_dev *gspca_dev, s32 hflip, s32 vflip)
{ … }
static void set_exposure(struct gspca_dev *gspca_dev, s32 expo)
{ … }
static void set_gain(struct gspca_dev *gspca_dev, s32 g)
{ … }
static void set_led_mode(struct gspca_dev *gspca_dev, s32 val)
{ … }
static void set_quality(struct gspca_dev *gspca_dev, s32 val)
{ … }
#ifdef CONFIG_VIDEO_ADV_DEBUG
static int sd_dbg_g_register(struct gspca_dev *gspca_dev,
struct v4l2_dbg_register *reg)
{ … }
static int sd_dbg_s_register(struct gspca_dev *gspca_dev,
const struct v4l2_dbg_register *reg)
{ … }
static int sd_chip_info(struct gspca_dev *gspca_dev,
struct v4l2_dbg_chip_info *chip)
{ … }
#endif
static int sd_config(struct gspca_dev *gspca_dev,
const struct usb_device_id *id)
{ … }
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 int sd_init(struct gspca_dev *gspca_dev)
{ … }
static void configure_sensor_output(struct gspca_dev *gspca_dev, int mode)
{ … }
static int sd_isoc_init(struct gspca_dev *gspca_dev)
{ … }
#define HW_WIN(mode, hstart, vstart) …
#define CLR_WIN(width, height) …
static int sd_start(struct gspca_dev *gspca_dev)
{ … }
static void sd_stopN(struct gspca_dev *gspca_dev)
{ … }
static void sd_stop0(struct gspca_dev *gspca_dev)
{ … }
static void do_autoexposure(struct gspca_dev *gspca_dev, u16 avg_lum)
{ … }
static void do_autogain(struct gspca_dev *gspca_dev, u16 avg_lum)
{ … }
static void sd_dqcallback(struct gspca_dev *gspca_dev)
{ … }
static void qual_upd(struct work_struct *work)
{ … }
#if IS_ENABLED(CONFIG_INPUT)
static int sd_int_pkt_scan(struct gspca_dev *gspca_dev,
u8 *data,
int len)
{ … }
#endif
static void transfer_check(struct gspca_dev *gspca_dev,
u8 *data)
{ … }
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
u8 *data,
int len)
{ … }
static const struct sd_desc sd_desc = …;
#define SN9C20X(sensor, i2c_addr, flags) …
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(…) …;