};
/* pac 7302 */
-static const __u8 probe_7302[] = {
+static const __u8 init_7302[] = {
/* index,value */
0xff, 0x01, /* page 1 */
0x78, 0x00, /* deactivate */
};
/* pac 7311 */
-static const __u8 probe_7311[] = {
+static const __u8 init_7311[] = {
0x78, 0x40, /* Bit_0=start stream, Bit_6=LED */
0x78, 0x40, /* Bit_0=start stream, Bit_6=LED */
0x78, 0x44, /* Bit_0=start stream, Bit_6=LED */
sd->sensor = id->driver_info;
if (sd->sensor == SENSOR_PAC7302) {
PDEBUG(D_CONF, "Find Sensor PAC7302");
- reg_w_seq(gspca_dev, probe_7302, sizeof probe_7302);
-
cam->cam_mode = &vga_mode[2]; /* only 640x480 */
cam->nmodes = 1;
} else {
PDEBUG(D_CONF, "Find Sensor PAC7311");
- reg_w_seq(gspca_dev, probe_7311, sizeof probe_7311);
-
cam->cam_mode = vga_mode;
cam->nmodes = ARRAY_SIZE(vga_mode);
gspca_dev->ctrl_dis = (1 << BRIGHTNESS_IDX)
/* this function is called at probe and resume time */
static int sd_init(struct gspca_dev *gspca_dev)
{
+ struct sd *sd = (struct sd *) gspca_dev;
+
+ if (sd->sensor == SENSOR_PAC7302)
+ reg_w_seq(gspca_dev, init_7302, sizeof init_7302);
+ else
+ reg_w_seq(gspca_dev, init_7311, sizeof init_7311);
+
return 0;
}
struct sd *sd = (struct sd *) gspca_dev;
struct cam *cam;
int sif = 0;
- const __u8 stop = 0x09; /* Disable stream turn of LED */
reg_r(gspca_dev, 0x00);
if (gspca_dev->usb_buf[0] != 0x10)
sd->autogain = AUTOGAIN_DEF;
sd->freq = FREQ_DEF;
- /* Disable stream turn of LED */
- reg_w(gspca_dev, 0x01, &stop, 1);
-
return 0;
}
/* this function is called at probe and resume time */
static int sd_init(struct gspca_dev *gspca_dev)
{
+ const __u8 stop = 0x09; /* Disable stream turn of LED */
+
+ reg_w(gspca_dev, 0x01, &stop, 1);
+
return 0;
}