#define MODULE_NAME …
#include "gspca.h"
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
struct sd { … };
static const struct v4l2_pix_format sif_mode[] = …;
#define R00_PART_CONTROL …
#define LATENT_CHANGE …
#define EXPO_CHANGE …
#define R01_TIMING_CONTROL_LOW …
#define CMD_EEprom_Open …
#define CMD_EEprom_Close …
#define R03_TABLE_ADDR …
#define R04_WTRAM_DATA_L …
#define R05_WTRAM_DATA_M …
#define R06_WTRAM_DATA_H …
#define R07_TABLE_LEN …
#define R08_RAM_WRITE_ACTION …
#define R0C_AD_WIDTHL …
#define R0D_AD_WIDTHH …
#define R0E_AD_HEIGHTL …
#define R0F_AD_HEIGHTH …
#define R10_AD_COL_BEGINL …
#define R11_AD_COL_BEGINH …
#define MIRROR …
#define R14_AD_ROW_BEGINL …
#define R15_AD_ROWBEGINH …
#define R1C_AD_EXPOSE_TIMEL …
#define R20_GAIN_G1L …
#define R21_GAIN_G1H …
#define R22_GAIN_RL …
#define R23_GAIN_RH …
#define R24_GAIN_BL …
#define R25_GAIN_BH …
#define R26_GAIN_G2L …
#define R27_GAIN_G2H …
#define R28_QUANT …
#define R29_LINE …
#define R2C_POLARITY …
#define R2D_POINT …
#define R2E_POINTH …
#define R2F_POINTB …
#define R30_POINTBH …
#define R31_UPD …
#define R2A_HIGH_BUDGET …
#define R2B_LOW_BUDGET …
#define R34_VID …
#define R35_VIDH …
#define R36_PID …
#define R37_PIDH …
#define R39_Test1 …
#define R3B_Test3 …
#define R83_AD_IDH …
#define R91_AD_SLOPEREG …
#define R94_AD_BITCONTROL …
static const u8 eeprom_data[][3] = …;
static void reg_w1(struct gspca_dev *gspca_dev,
__u16 index, __u8 value)
{ … }
static void reg_w2(struct gspca_dev *gspca_dev,
u16 index, u16 value)
{ … }
static void tv_8532WriteEEprom(struct gspca_dev *gspca_dev)
{ … }
static int sd_config(struct gspca_dev *gspca_dev,
const struct usb_device_id *id)
{ … }
static void tv_8532_setReg(struct gspca_dev *gspca_dev)
{ … }
static int sd_init(struct gspca_dev *gspca_dev)
{ … }
static void setexposure(struct gspca_dev *gspca_dev, s32 val)
{ … }
static void setgain(struct gspca_dev *gspca_dev, s32 val)
{ … }
static int sd_start(struct gspca_dev *gspca_dev)
{ … }
static void sd_stopN(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(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 struct usb_driver sd_driver = …;
module_usb_driver(…) …;