123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- /* GSPCA subdrivers for Genesys Logic webcams with the GL860 chip
- * Subdriver declarations
- *
- * 2009/10/14 Olivier LORIN <o.lorin@laposte.net>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
- #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
|