123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- /* SPDX-License-Identifier: GPL-2.0-or-later */
- /* GSPCA subdrivers for Genesys Logic webcams with the GL860 chip
- * Subdriver declarations
- *
- * 2009/10/14 Olivier LORIN <[email protected]>
- */
- #ifndef GL860_DEV_H
- #define GL860_DEV_H
- #include "gspca.h"
- #define MODULE_NAME "gspca_gl860"
- #define DRIVER_VERSION "0.9d10"
- #define ctrl_in gl860_RTx
- #define ctrl_out gl860_RTx
- #define ID_MI1320 1
- #define ID_OV2640 2
- #define ID_OV9655 4
- #define ID_MI2020 8
- #define _MI1320_ (((struct sd *) gspca_dev)->sensor == ID_MI1320)
- #define _MI2020_ (((struct sd *) gspca_dev)->sensor == ID_MI2020)
- #define _OV2640_ (((struct sd *) gspca_dev)->sensor == ID_OV2640)
- #define _OV9655_ (((struct sd *) gspca_dev)->sensor == ID_OV9655)
- #define IMAGE_640 0
- #define IMAGE_800 1
- #define IMAGE_1280 2
- #define IMAGE_1600 3
- struct sd_gl860 {
- u16 backlight;
- u16 brightness;
- u16 sharpness;
- u16 contrast;
- u16 gamma;
- u16 hue;
- u16 saturation;
- u16 whitebal;
- u8 mirror;
- u8 flip;
- u8 AC50Hz;
- };
- /* Specific webcam descriptor */
- struct sd {
- struct gspca_dev gspca_dev; /* !! must be the first item */
- struct sd_gl860 vcur;
- struct sd_gl860 vold;
- struct sd_gl860 vmax;
- int (*dev_configure_alt) (struct gspca_dev *);
- int (*dev_init_at_startup)(struct gspca_dev *);
- int (*dev_init_pre_alt) (struct gspca_dev *);
- void (*dev_post_unset_alt) (struct gspca_dev *);
- int (*dev_camera_settings)(struct gspca_dev *);
- u8 swapRB;
- u8 mirrorMask;
- u8 sensor;
- s32 nbIm;
- s32 nbRightUp;
- u8 waitSet;
- };
- struct validx {
- u16 val;
- u16 idx;
- };
- struct idxdata {
- u8 idx;
- u8 data[3];
- };
- 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);
- int gl860_RTx(struct gspca_dev *gspca_dev,
- unsigned char pref, u32 req, u16 val, u16 index,
- s32 len, void *pdata);
- void mi1320_init_settings(struct gspca_dev *);
- void ov2640_init_settings(struct gspca_dev *);
- void ov9655_init_settings(struct gspca_dev *);
- void mi2020_init_settings(struct gspca_dev *);
- #endif
|