linux/drivers/media/usb/gspca/spca500.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * SPCA500 chip based cameras initialization data
 *
 * V4L2 by Jean-Francois Moine <http://moinejf.free.fr>
 */

#define pr_fmt(fmt)

#define MODULE_NAME

#include "gspca.h"
#include "jpeg.h"

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();

#define QUALITY

/* specific webcam descriptor */
struct sd {};

static const struct v4l2_pix_format vga_mode[] =;

static const struct v4l2_pix_format sif_mode[] =;

/* Frame packet header offsets for the spca500 */
#define SPCA500_OFFSET_PADDINGLB
#define SPCA500_OFFSET_PADDINGHB
#define SPCA500_OFFSET_MODE
#define SPCA500_OFFSET_IMGWIDTH
#define SPCA500_OFFSET_IMGHEIGHT
#define SPCA500_OFFSET_IMGMODE
#define SPCA500_OFFSET_QTBLINDEX
#define SPCA500_OFFSET_FRAMSEQ
#define SPCA500_OFFSET_CDSPINFO
#define SPCA500_OFFSET_GPIO
#define SPCA500_OFFSET_AUGPIO
#define SPCA500_OFFSET_DATA


static const __u16 spca500_visual_defaults[][3] =;
static const __u16 Clicksmart510_defaults[][3] =;

static const __u8 qtable_creative_pccam[2][64] =;

static const __u8 qtable_kodak_ez200[2][64] =;

static const __u8 qtable_pocketdv[2][64] =;

/* read 'len' bytes to gspca_dev->usb_buf */
static void reg_r(struct gspca_dev *gspca_dev,
		  __u16 index,
		  __u16 length)
{}

static int reg_w(struct gspca_dev *gspca_dev,
		     __u16 req, __u16 index, __u16 value)
{}

/* returns: negative is error, pos or zero is data */
static int reg_r_12(struct gspca_dev *gspca_dev,
			__u16 req,	/* bRequest */
			__u16 index,	/* wIndex */
			__u16 length)	/* wLength (1 or 2 only) */
{}

/*
 * Simple function to wait for a given 8-bit value to be returned from
 * a reg_read call.
 * Returns: negative is error or timeout, zero is success.
 */
static int reg_r_wait(struct gspca_dev *gspca_dev,
			__u16 reg, __u16 index, __u16 value)
{}

static int write_vector(struct gspca_dev *gspca_dev,
			const __u16 data[][3])
{}

static int spca50x_setup_qtable(struct gspca_dev *gspca_dev,
				unsigned int request,
				unsigned int ybase,
				unsigned int cbase,
				const __u8 qtable[2][64])
{}

static void spca500_ping310(struct gspca_dev *gspca_dev)
{}

static void spca500_clksmart310_init(struct gspca_dev *gspca_dev)
{}

static void spca500_setmode(struct gspca_dev *gspca_dev,
			__u8 xmult, __u8 ymult)
{}

static int spca500_full_reset(struct gspca_dev *gspca_dev)
{}

/* Synchro the Bridge with sensor */
/* Maybe that will work on all spca500 chip */
/* because i only own a clicksmart310 try for that chip */
/* using spca50x_set_packet_size() cause an Ooops here */
/* usb_set_interface from kernel 2.6.x clear all the urb stuff */
/* up-port the same feature as in 2.4.x kernel */
static int spca500_synch310(struct gspca_dev *gspca_dev)
{}

static void spca500_reinit(struct gspca_dev *gspca_dev)
{}

/* this function is called at probe time */
static int sd_config(struct gspca_dev *gspca_dev,
			const struct usb_device_id *id)
{}

/* this function is called at probe and resume time */
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,			/* isoc packet */
			int len)			/* iso packet length */
{}

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 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)
{}

/* sub-driver description */
static const struct sd_desc sd_desc =;

/* -- module initialisation -- */
static const struct usb_device_id device_table[] =;
MODULE_DEVICE_TABLE(usb, device_table);

/* -- device connect -- */
static int sd_probe(struct usb_interface *intf,
			const struct usb_device_id *id)
{}

static struct usb_driver sd_driver =;

module_usb_driver();