forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
2.1 KiB
93 lines
2.1 KiB
/* SPDX-License-Identifier: GPL-2.0-or-later */ |
|
/* GSPCA subdrivers for Genesys Logic webcams with the GL860 chip |
|
* Subdriver declarations |
|
* |
|
* 2009/10/14 Olivier LORIN <[email protected]> |
|
*/ |
|
#ifndef GL860_DEV_H |
|
#define GL860_DEV_H |
|
|
|
#include "gspca.h" |
|
|
|
#define MODULE_NAME "gspca_gl860" |
|
#define DRIVER_VERSION "0.9d10" |
|
|
|
#define ctrl_in gl860_RTx |
|
#define ctrl_out gl860_RTx |
|
|
|
#define ID_MI1320 1 |
|
#define ID_OV2640 2 |
|
#define ID_OV9655 4 |
|
#define ID_MI2020 8 |
|
|
|
#define _MI1320_ (((struct sd *) gspca_dev)->sensor == ID_MI1320) |
|
#define _MI2020_ (((struct sd *) gspca_dev)->sensor == ID_MI2020) |
|
#define _OV2640_ (((struct sd *) gspca_dev)->sensor == ID_OV2640) |
|
#define _OV9655_ (((struct sd *) gspca_dev)->sensor == ID_OV9655) |
|
|
|
#define IMAGE_640 0 |
|
#define IMAGE_800 1 |
|
#define IMAGE_1280 2 |
|
#define IMAGE_1600 3 |
|
|
|
struct sd_gl860 { |
|
u16 backlight; |
|
u16 brightness; |
|
u16 sharpness; |
|
u16 contrast; |
|
u16 gamma; |
|
u16 hue; |
|
u16 saturation; |
|
u16 whitebal; |
|
u8 mirror; |
|
u8 flip; |
|
u8 AC50Hz; |
|
}; |
|
|
|
/* Specific webcam descriptor */ |
|
struct sd { |
|
struct gspca_dev gspca_dev; /* !! must be the first item */ |
|
|
|
struct sd_gl860 vcur; |
|
struct sd_gl860 vold; |
|
struct sd_gl860 vmax; |
|
|
|
int (*dev_configure_alt) (struct gspca_dev *); |
|
int (*dev_init_at_startup)(struct gspca_dev *); |
|
int (*dev_init_pre_alt) (struct gspca_dev *); |
|
void (*dev_post_unset_alt) (struct gspca_dev *); |
|
int (*dev_camera_settings)(struct gspca_dev *); |
|
|
|
u8 swapRB; |
|
u8 mirrorMask; |
|
u8 sensor; |
|
s32 nbIm; |
|
s32 nbRightUp; |
|
u8 waitSet; |
|
}; |
|
|
|
struct validx { |
|
u16 val; |
|
u16 idx; |
|
}; |
|
|
|
struct idxdata { |
|
u8 idx; |
|
u8 data[3]; |
|
}; |
|
|
|
int fetch_validx(struct gspca_dev *gspca_dev, struct validx *tbl, int len); |
|
int keep_on_fetching_validx(struct gspca_dev *gspca_dev, struct validx *tbl, |
|
int len, int n); |
|
void fetch_idxdata(struct gspca_dev *gspca_dev, struct idxdata *tbl, int len); |
|
|
|
int gl860_RTx(struct gspca_dev *gspca_dev, |
|
unsigned char pref, u32 req, u16 val, u16 index, |
|
s32 len, void *pdata); |
|
|
|
void mi1320_init_settings(struct gspca_dev *); |
|
void ov2640_init_settings(struct gspca_dev *); |
|
void ov9655_init_settings(struct gspca_dev *); |
|
void mi2020_init_settings(struct gspca_dev *); |
|
|
|
#endif
|
|
|