1 /* GSPCA subdrivers for Genesys Logic webcams with the GL860 chip
2 * Subdriver declarations
4 * 2009/10/14 Olivier LORIN <o.lorin@laposte.net>
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
24 #define MODULE_NAME "gspca_gl860"
25 #define DRIVER_VERSION "0.9d10"
27 #define ctrl_in gl860_RTx
28 #define ctrl_out gl860_RTx
35 #define _MI1320_ (((struct sd *) gspca_dev)->sensor == ID_MI1320)
36 #define _MI2020_ (((struct sd *) gspca_dev)->sensor == ID_MI2020)
37 #define _OV2640_ (((struct sd *) gspca_dev)->sensor == ID_OV2640)
38 #define _OV9655_ (((struct sd *) gspca_dev)->sensor == ID_OV9655)
59 /* Specific webcam descriptor */
61 struct gspca_dev gspca_dev
; /* !! must be the first item */
67 int (*dev_configure_alt
) (struct gspca_dev
*);
68 int (*dev_init_at_startup
)(struct gspca_dev
*);
69 int (*dev_init_pre_alt
) (struct gspca_dev
*);
70 void (*dev_post_unset_alt
) (struct gspca_dev
*);
71 int (*dev_camera_settings
)(struct gspca_dev
*);
91 int fetch_validx(struct gspca_dev
*gspca_dev
, struct validx
*tbl
, int len
);
92 int keep_on_fetching_validx(struct gspca_dev
*gspca_dev
, struct validx
*tbl
,
94 void fetch_idxdata(struct gspca_dev
*gspca_dev
, struct idxdata
*tbl
, int len
);
96 int gl860_RTx(struct gspca_dev
*gspca_dev
,
97 unsigned char pref
, u32 req
, u16 val
, u16 index
,
98 s32 len
, void *pdata
);
100 void mi1320_init_settings(struct gspca_dev
*);
101 void ov2640_init_settings(struct gspca_dev
*);
102 void ov9655_init_settings(struct gspca_dev
*);
103 void mi2020_init_settings(struct gspca_dev
*);