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
*);