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>
12 #define MODULE_NAME "gspca_gl860"
13 #define DRIVER_VERSION "0.9d10"
15 #define ctrl_in gl860_RTx
16 #define ctrl_out gl860_RTx
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)
47 /* Specific webcam descriptor */
49 struct gspca_dev gspca_dev; /* !! must be the first item */
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 *);
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,
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 *);