root/drivers/media/usb/gspca/gl860/gl860.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0-or-later */
   2 /* GSPCA subdrivers for Genesys Logic webcams with the GL860 chip
   3  * Subdriver declarations
   4  *
   5  * 2009/10/14 Olivier LORIN <o.lorin@laposte.net>
   6  */
   7 #ifndef GL860_DEV_H
   8 #define GL860_DEV_H
   9 
  10 #include "gspca.h"
  11 
  12 #define MODULE_NAME "gspca_gl860"
  13 #define DRIVER_VERSION "0.9d10"
  14 
  15 #define ctrl_in  gl860_RTx
  16 #define ctrl_out gl860_RTx
  17 
  18 #define ID_MI1320   1
  19 #define ID_OV2640   2
  20 #define ID_OV9655   4
  21 #define ID_MI2020   8
  22 
  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   0
  29 #define IMAGE_800   1
  30 #define IMAGE_1280  2
  31 #define IMAGE_1600  3
  32 
  33 struct 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 */
  48 struct 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 
  69 struct validx {
  70         u16 val;
  71         u16 idx;
  72 };
  73 
  74 struct idxdata {
  75         u8 idx;
  76         u8 data[3];
  77 };
  78 
  79 int fetch_validx(struct gspca_dev *gspca_dev, struct validx *tbl, int len);
  80 int keep_on_fetching_validx(struct gspca_dev *gspca_dev, struct validx *tbl,
  81                                 int len, int n);
  82 void fetch_idxdata(struct gspca_dev *gspca_dev, struct idxdata *tbl, int len);
  83 
  84 int gl860_RTx(struct gspca_dev *gspca_dev,
  85                         unsigned char pref, u32 req, u16 val, u16 index,
  86                         s32 len, void *pdata);
  87 
  88 void mi1320_init_settings(struct gspca_dev *);
  89 void ov2640_init_settings(struct gspca_dev *);
  90 void ov9655_init_settings(struct gspca_dev *);
  91 void mi2020_init_settings(struct gspca_dev *);
  92 
  93 #endif

/* [<][>][^][v][top][bottom][index][help] */