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

// SPDX-License-Identifier: GPL-2.0-or-later
/* GSPCA subdrivers for Genesys Logic webcams with the GL860 chip
 * Subdriver core
 *
 * 2009/09/24 Olivier Lorin <[email protected]>
 * GSPCA by Jean-Francois Moine <http://moinejf.free.fr>
 * Thanks BUGabundo and Malmostoso for your amazing help!
 */

#define pr_fmt(fmt)

#include "gspca.h"
#include "gl860.h"

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

/*======================== static function declarations ====================*/

static void (*dev_init_settings)(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_isoc_init(struct gspca_dev *gspca_dev);
static int  sd_start(struct gspca_dev *gspca_dev);
static void sd_stop0(struct gspca_dev *gspca_dev);
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
			u8 *data, int len);
static void sd_callback(struct gspca_dev *gspca_dev);

static int gl860_guess_sensor(struct gspca_dev *gspca_dev,
				u16 vendor_id, u16 product_id);

/*============================ driver options ==============================*/

static s32 AC50Hz =;
module_param(AC50Hz, int, 0644);
MODULE_PARM_DESC();

static char sensor[7];
module_param_string();
MODULE_PARM_DESC();

/*============================ webcam controls =============================*/

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

/*==================== sud-driver structure initialisation =================*/

static const struct sd_desc sd_desc_mi1320 =;

static const struct sd_desc sd_desc_mi2020 =;

static const struct sd_desc sd_desc_ov2640 =;

static const struct sd_desc sd_desc_ov9655 =;

/*=========================== sub-driver image sizes =======================*/

static struct v4l2_pix_format mi2020_mode[] =;

static struct v4l2_pix_format ov2640_mode[] =;

static struct v4l2_pix_format mi1320_mode[] =;

static struct v4l2_pix_format ov9655_mode[] =;

/*========================= sud-driver functions ===========================*/

/* 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 time after sd_config */
static int sd_init(struct gspca_dev *gspca_dev)
{}

/* This function is called before to choose the alt setting */
static int sd_isoc_init(struct gspca_dev *gspca_dev)
{}

/* This function is called to start the webcam */
static int sd_start(struct gspca_dev *gspca_dev)
{}

/* This function is called to stop the webcam */
static void sd_stop0(struct gspca_dev *gspca_dev)
{}

/* This function is called when an image is being received */
static void sd_pkt_scan(struct gspca_dev *gspca_dev,
			u8 *data, int len)
{}

/* This function is called when an image has been read */
/* This function is used to monitor webcam orientation */
static void sd_callback(struct gspca_dev *gspca_dev)
{}

/*=================== USB driver structure initialisation ==================*/

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 void sd_disconnect(struct usb_interface *intf)
{}

static struct usb_driver sd_driver =;

/*====================== Init and Exit module functions ====================*/

module_usb_driver();

/*==========================================================================*/

int gl860_RTx(struct gspca_dev *gspca_dev,
		unsigned char pref, u32 req, u16 val, u16 index,
		s32 len, void *pdata)
{}

int fetch_validx(struct gspca_dev *gspca_dev, struct validx *tbl, int len)
{}

int keep_on_fetching_validx(struct gspca_dev *gspca_dev, struct validx *tbl,
				int len, int n)
{}

void fetch_idxdata(struct gspca_dev *gspca_dev, struct idxdata *tbl, int len)
{}

static int gl860_guess_sensor(struct gspca_dev *gspca_dev,
				u16 vendor_id, u16 product_id)
{}