treewide: remove redundant IS_ERR() before error code check
[linux/fpc-iii.git] / drivers / media / usb / gspca / gl860 / gl860.h
bloba8a5d6450a66362e12b18e14d97d85b22b6a6ffc
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /* GSPCA subdrivers for Genesys Logic webcams with the GL860 chip
3 * Subdriver declarations
5 * 2009/10/14 Olivier LORIN <o.lorin@laposte.net>
6 */
7 #ifndef GL860_DEV_H
8 #define GL860_DEV_H
10 #include "gspca.h"
12 #define MODULE_NAME "gspca_gl860"
13 #define DRIVER_VERSION "0.9d10"
15 #define ctrl_in gl860_RTx
16 #define ctrl_out gl860_RTx
18 #define ID_MI1320 1
19 #define ID_OV2640 2
20 #define ID_OV9655 4
21 #define ID_MI2020 8
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)
28 #define IMAGE_640 0
29 #define IMAGE_800 1
30 #define IMAGE_1280 2
31 #define IMAGE_1600 3
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;
47 /* Specific webcam descriptor */
48 struct sd {
49 struct gspca_dev gspca_dev; /* !! must be the first item */
51 struct sd_gl860 vcur;
52 struct sd_gl860 vold;
53 struct sd_gl860 vmax;
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 *);
61 u8 swapRB;
62 u8 mirrorMask;
63 u8 sensor;
64 s32 nbIm;
65 s32 nbRightUp;
66 u8 waitSet;
69 struct validx {
70 u16 val;
71 u16 idx;
74 struct idxdata {
75 u8 idx;
76 u8 data[3];
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);
84 int gl860_RTx(struct gspca_dev *gspca_dev,
85 unsigned char pref, u32 req, u16 val, u16 index,
86 s32 len, void *pdata);
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 *);
93 #endif