Lines Matching refs:sd
24 static void s5k4aa_dump_registers(struct sd *sd);
144 int s5k4aa_probe(struct sd *sd) in s5k4aa_probe() argument
148 struct gspca_dev *gspca_dev = (struct gspca_dev *)sd; in s5k4aa_probe()
169 err = m5602_write_bridge(sd, in s5k4aa_probe()
176 err = m5602_write_sensor(sd, in s5k4aa_probe()
184 err = m5602_write_sensor(sd, in s5k4aa_probe()
195 if (m5602_read_sensor(sd, 0x00, prod_id, 2)) in s5k4aa_probe()
197 if (m5602_read_sensor(sd, 0x02, prod_id+2, 2)) in s5k4aa_probe()
199 if (m5602_read_sensor(sd, 0x04, prod_id+4, 2)) in s5k4aa_probe()
208 sd->gspca_dev.cam.cam_mode = s5k4aa_modes; in s5k4aa_probe()
209 sd->gspca_dev.cam.nmodes = ARRAY_SIZE(s5k4aa_modes); in s5k4aa_probe()
214 int s5k4aa_start(struct sd *sd) in s5k4aa_start() argument
218 struct cam *cam = &sd->gspca_dev.cam; in s5k4aa_start()
219 struct gspca_dev *gspca_dev = (struct gspca_dev *)sd; in s5k4aa_start()
221 switch (cam->cam_mode[sd->gspca_dev.curr_mode].width) { in s5k4aa_start()
228 err = m5602_write_bridge(sd, in s5k4aa_start()
235 err = m5602_write_sensor(sd, in s5k4aa_start()
243 err = m5602_write_sensor(sd, in s5k4aa_start()
261 err = m5602_write_bridge(sd, in s5k4aa_start()
268 err = m5602_write_sensor(sd, in s5k4aa_start()
276 err = m5602_write_sensor(sd, in s5k4aa_start()
294 int s5k4aa_init(struct sd *sd) in s5k4aa_init() argument
303 err = m5602_write_bridge(sd, in s5k4aa_init()
310 err = m5602_write_sensor(sd, in s5k4aa_init()
317 err = m5602_write_sensor(sd, in s5k4aa_init()
327 s5k4aa_dump_registers(sd); in s5k4aa_init()
332 int s5k4aa_init_controls(struct sd *sd) in s5k4aa_init_controls() argument
334 struct v4l2_ctrl_handler *hdl = &sd->gspca_dev.ctrl_handler; in s5k4aa_init_controls()
336 sd->gspca_dev.vdev.ctrl_handler = hdl; in s5k4aa_init_controls()
351 sd->hflip = v4l2_ctrl_new_std(hdl, &s5k4aa_ctrl_ops, V4L2_CID_HFLIP, in s5k4aa_init_controls()
353 sd->vflip = v4l2_ctrl_new_std(hdl, &s5k4aa_ctrl_ops, V4L2_CID_VFLIP, in s5k4aa_init_controls()
361 v4l2_ctrl_cluster(2, &sd->hflip); in s5k4aa_init_controls()
368 struct sd *sd = (struct sd *) gspca_dev; in s5k4aa_set_exposure() local
373 err = m5602_write_sensor(sd, S5K4AA_PAGE_MAP, &data, 1); in s5k4aa_set_exposure()
377 err = m5602_write_sensor(sd, S5K4AA_EXPOSURE_HI, &data, 1); in s5k4aa_set_exposure()
381 err = m5602_write_sensor(sd, S5K4AA_EXPOSURE_LO, &data, 1); in s5k4aa_set_exposure()
388 struct sd *sd = (struct sd *) gspca_dev; in s5k4aa_set_hvflip() local
391 int hflip = sd->hflip->val; in s5k4aa_set_hvflip()
392 int vflip = sd->vflip->val; in s5k4aa_set_hvflip()
395 err = m5602_write_sensor(sd, S5K4AA_PAGE_MAP, &data, 1); in s5k4aa_set_hvflip()
399 err = m5602_read_sensor(sd, S5K4AA_READ_MODE, &data, 1); in s5k4aa_set_hvflip()
409 err = m5602_write_sensor(sd, S5K4AA_READ_MODE, &data, 1); in s5k4aa_set_hvflip()
413 err = m5602_read_sensor(sd, S5K4AA_COLSTART_LO, &data, 1); in s5k4aa_set_hvflip()
420 err = m5602_write_sensor(sd, S5K4AA_COLSTART_LO, &data, 1); in s5k4aa_set_hvflip()
424 err = m5602_read_sensor(sd, S5K4AA_ROWSTART_LO, &data, 1); in s5k4aa_set_hvflip()
431 err = m5602_write_sensor(sd, S5K4AA_ROWSTART_LO, &data, 1); in s5k4aa_set_hvflip()
440 struct sd *sd = (struct sd *) gspca_dev; in s5k4aa_set_gain() local
445 err = m5602_write_sensor(sd, S5K4AA_PAGE_MAP, &data, 1); in s5k4aa_set_gain()
450 err = m5602_write_sensor(sd, S5K4AA_GAIN, &data, 1); in s5k4aa_set_gain()
457 struct sd *sd = (struct sd *) gspca_dev; in s5k4aa_set_brightness() local
462 err = m5602_write_sensor(sd, S5K4AA_PAGE_MAP, &data, 1); in s5k4aa_set_brightness()
467 return m5602_write_sensor(sd, S5K4AA_BRIGHTNESS, &data, 1); in s5k4aa_set_brightness()
472 struct sd *sd = (struct sd *) gspca_dev; in s5k4aa_set_noise() local
477 err = m5602_write_sensor(sd, S5K4AA_PAGE_MAP, &data, 1); in s5k4aa_set_noise()
482 return m5602_write_sensor(sd, S5K4AA_NOISE_SUPP, &data, 1); in s5k4aa_set_noise()
517 void s5k4aa_disconnect(struct sd *sd) in s5k4aa_disconnect() argument
519 sd->sensor = NULL; in s5k4aa_disconnect()
522 static void s5k4aa_dump_registers(struct sd *sd) in s5k4aa_dump_registers() argument
526 m5602_read_sensor(sd, S5K4AA_PAGE_MAP, &old_page, 1); in s5k4aa_dump_registers()
528 m5602_write_sensor(sd, S5K4AA_PAGE_MAP, &page, 1); in s5k4aa_dump_registers()
533 m5602_read_sensor(sd, address, &value, 1); in s5k4aa_dump_registers()
541 m5602_write_sensor(sd, S5K4AA_PAGE_MAP, &page, 1); in s5k4aa_dump_registers()
547 m5602_read_sensor(sd, address, &old_value, 1); in s5k4aa_dump_registers()
548 m5602_write_sensor(sd, address, &test_value, 1); in s5k4aa_dump_registers()
549 m5602_read_sensor(sd, address, &ctrl_value, 1); in s5k4aa_dump_registers()
559 m5602_write_sensor(sd, address, &old_value, 1); in s5k4aa_dump_registers()
563 m5602_write_sensor(sd, S5K4AA_PAGE_MAP, &old_page, 1); in s5k4aa_dump_registers()