brintos

brintos / linux-shallow public Read only

0
0
Text · 2.1 KiB · a8a5d64 Raw
94 lines · c
1/* SPDX-License-Identifier: GPL-2.0-or-later */2/* GSPCA subdrivers for Genesys Logic webcams with the GL860 chip3 * Subdriver declarations4 *5 * 2009/10/14 Olivier LORIN <o.lorin@laposte.net>6 */7#ifndef GL860_DEV_H8#define GL860_DEV_H9 10#include "gspca.h"11 12#define MODULE_NAME "gspca_gl860"13#define DRIVER_VERSION "0.9d10"14 15#define ctrl_in  gl860_RTx16#define ctrl_out gl860_RTx17 18#define ID_MI1320   119#define ID_OV2640   220#define ID_OV9655   421#define ID_MI2020   822 23#define _MI1320_  (((struct sd *) gspca_dev)->sensor == ID_MI1320)24#define _MI2020_  (((struct sd *) gspca_dev)->sensor == ID_MI2020)25#define _OV2640_  (((struct sd *) gspca_dev)->sensor == ID_OV2640)26#define _OV9655_  (((struct sd *) gspca_dev)->sensor == ID_OV9655)27 28#define IMAGE_640   029#define IMAGE_800   130#define IMAGE_1280  231#define IMAGE_1600  332 33struct sd_gl860 {34	u16 backlight;35	u16 brightness;36	u16 sharpness;37	u16 contrast;38	u16 gamma;39	u16 hue;40	u16 saturation;41	u16 whitebal;42	u8  mirror;43	u8  flip;44	u8  AC50Hz;45};46 47/* Specific webcam descriptor */48struct sd {49	struct gspca_dev gspca_dev;	/* !! must be the first item */50 51	struct sd_gl860 vcur;52	struct sd_gl860 vold;53	struct sd_gl860 vmax;54 55	int  (*dev_configure_alt)  (struct gspca_dev *);56	int  (*dev_init_at_startup)(struct gspca_dev *);57	int  (*dev_init_pre_alt)   (struct gspca_dev *);58	void (*dev_post_unset_alt) (struct gspca_dev *);59	int  (*dev_camera_settings)(struct gspca_dev *);60 61	u8   swapRB;62	u8   mirrorMask;63	u8   sensor;64	s32  nbIm;65	s32  nbRightUp;66	u8   waitSet;67};68 69struct validx {70	u16 val;71	u16 idx;72};73 74struct idxdata {75	u8 idx;76	u8 data[3];77};78 79int fetch_validx(struct gspca_dev *gspca_dev, struct validx *tbl, int len);80int keep_on_fetching_validx(struct gspca_dev *gspca_dev, struct validx *tbl,81				int len, int n);82void fetch_idxdata(struct gspca_dev *gspca_dev, struct idxdata *tbl, int len);83 84int gl860_RTx(struct gspca_dev *gspca_dev,85			unsigned char pref, u32 req, u16 val, u16 index,86			s32 len, void *pdata);87 88void mi1320_init_settings(struct gspca_dev *);89void ov2640_init_settings(struct gspca_dev *);90void ov9655_init_settings(struct gspca_dev *);91void mi2020_init_settings(struct gspca_dev *);92 93#endif94