#define pr_fmt(fmt) …
#define MODULE_NAME …
#include "gspca.h"
#include "jpeg.h"
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
#define QUALITY …
struct sd { … };
static const struct v4l2_pix_format vga_mode[] = …;
static const struct v4l2_pix_format custom_mode[] = …;
static const struct v4l2_pix_format vga_mode2[] = …;
#define SPCA50X_OFFSET_DATA …
#define SPCA504_PCCAM600_OFFSET_SNAPSHOT …
#define SPCA504_PCCAM600_OFFSET_COMPRESS …
#define SPCA504_PCCAM600_OFFSET_MODE …
#define SPCA504_PCCAM600_OFFSET_DATA …
#define SPCA533_OFFSET_DATA …
#define SPCA533_OFFSET_FRAMSEQ …
#define SPCA536_OFFSET_DATA …
#define SPCA536_OFFSET_FRAMSEQ …
struct cmd { … };
static const struct cmd spca504_pccam600_init_data[] = …;
static const struct cmd spca504_pccam600_open_data[] = …;
static const struct cmd spca504A_clicksmart420_init_data[] = …;
static const struct cmd spca504A_clicksmart420_open_data[] = …;
static const u8 qtable_creative_pccam[2][64] = …;
static const u8 qtable_spca504_default[2][64] = …;
static void reg_r(struct gspca_dev *gspca_dev,
u8 req,
u16 index,
u16 len)
{ … }
static void reg_w_1(struct gspca_dev *gspca_dev,
u8 req,
u16 value,
u16 index,
u16 byte)
{ … }
static void reg_w_riv(struct gspca_dev *gspca_dev,
u8 req, u16 index, u16 value)
{ … }
static void write_vector(struct gspca_dev *gspca_dev,
const struct cmd *data, int ncmds)
{ … }
static void setup_qtable(struct gspca_dev *gspca_dev,
const u8 qtable[2][64])
{ … }
static void spca504_acknowledged_command(struct gspca_dev *gspca_dev,
u8 req, u16 idx, u16 val)
{ … }
static void spca504_read_info(struct gspca_dev *gspca_dev)
{ … }
static void spca504A_acknowledged_command(struct gspca_dev *gspca_dev,
u8 req,
u16 idx, u16 val, u8 endcode, u8 count)
{ … }
static void spca504B_PollingDataReady(struct gspca_dev *gspca_dev)
{ … }
static void spca504B_WaitCmdStatus(struct gspca_dev *gspca_dev)
{ … }
static void spca50x_GetFirmware(struct gspca_dev *gspca_dev)
{ … }
static void spca504B_SetSizeType(struct gspca_dev *gspca_dev)
{ … }
static void spca504_wait_status(struct gspca_dev *gspca_dev)
{ … }
static void spca504B_setQtable(struct gspca_dev *gspca_dev)
{ … }
static void setbrightness(struct gspca_dev *gspca_dev, s32 val)
{ … }
static void setcontrast(struct gspca_dev *gspca_dev, s32 val)
{ … }
static void setcolors(struct gspca_dev *gspca_dev, s32 val)
{ … }
static void init_ctl_reg(struct gspca_dev *gspca_dev)
{ … }
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_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 = …;
#define BS(bridge, subtype) …
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(…) …;