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

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 *	Sonix sn9c201 sn9c202 library
 *
 * Copyright (C) 2012 Jean-Francois Moine <http://moinejf.free.fr>
 *	Copyright (C) 2008-2009 microdia project <[email protected]>
 *	Copyright (C) 2009 Brian Johnson <[email protected]>
 */

#define pr_fmt(fmt)

#include <linux/input.h>

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

#include <linux/dmi.h>

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

/*
 * Pixel format private data
 */
#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

/* camera flags */
#define HAS_NO_BUTTON
#define LED_REVERSE
#define FLIP_DETECT
#define HAS_LED_TORCH

/* specific webcam descriptor */
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] =;

/* Gain = (bit[3:0] / 16 + 1) * (bit[4] + 1) * (bit[5] + 1) * (bit[6] + 1) */
static const u8 ov_gain[] =;

/* Gain = (bit[8] + 1) * (bit[7] + 1) * (bit[6:0] * 0.03125) */
static const u16 micron1_gain[] =;

/* mt9m001 sensor uses a different gain formula then other micron sensors */
/* Gain = (bit[6] + 1) * (bit[5-0] * 0.125) */
static const u16 micron2_gain[] =;

/* Gain = .5 + bit[7:0] / 16 */
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)
{}

/* called on streamoff with alt==0 and on disconnect */
/* the usb_lock is held at entry - restore on exit */
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)
{}

/* JPEG quality update */
/* This function is executed from a work queue. */
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,		/* interrupt packet */
			int len)		/* interrupt packet length */
{}
#endif

/* check the JPEG compression */
static void transfer_check(struct gspca_dev *gspca_dev,
			u8 *data)
{}

static void sd_pkt_scan(struct gspca_dev *gspca_dev,
			u8 *data,			/* isoc packet */
			int len)			/* iso packet length */
{}

/* sub-driver description */
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);

/* -- 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();