Lines Matching refs:sd
24 static void ov7660_dump_registers(struct sd *sd);
44 int ov7660_probe(struct sd *sd) in ov7660_probe() argument
64 err = m5602_write_bridge(sd, in ov7660_probe()
69 err = m5602_write_sensor(sd, in ov7660_probe()
76 if (m5602_read_sensor(sd, OV7660_PID, &prod_id, 1)) in ov7660_probe()
79 if (m5602_read_sensor(sd, OV7660_VER, &ver_id, 1)) in ov7660_probe()
91 sd->gspca_dev.cam.cam_mode = ov7660_modes; in ov7660_probe()
92 sd->gspca_dev.cam.nmodes = ARRAY_SIZE(ov7660_modes); in ov7660_probe()
97 int ov7660_init(struct sd *sd) in ov7660_init() argument
106 err = m5602_write_bridge(sd, in ov7660_init()
111 err = m5602_write_sensor(sd, in ov7660_init()
119 ov7660_dump_registers(sd); in ov7660_init()
124 int ov7660_init_controls(struct sd *sd) in ov7660_init_controls() argument
126 struct v4l2_ctrl_handler *hdl = &sd->gspca_dev.ctrl_handler; in ov7660_init_controls()
128 sd->gspca_dev.vdev.ctrl_handler = hdl; in ov7660_init_controls()
136 sd->autogain = v4l2_ctrl_new_std(hdl, &ov7660_ctrl_ops, in ov7660_init_controls()
138 sd->gain = v4l2_ctrl_new_std(hdl, &ov7660_ctrl_ops, V4L2_CID_GAIN, 0, in ov7660_init_controls()
141 sd->hflip = v4l2_ctrl_new_std(hdl, &ov7660_ctrl_ops, V4L2_CID_HFLIP, in ov7660_init_controls()
143 sd->vflip = v4l2_ctrl_new_std(hdl, &ov7660_ctrl_ops, V4L2_CID_VFLIP, in ov7660_init_controls()
151 v4l2_ctrl_auto_cluster(2, &sd->autogain, 0, false); in ov7660_init_controls()
152 v4l2_ctrl_cluster(2, &sd->hflip); in ov7660_init_controls()
157 int ov7660_start(struct sd *sd) in ov7660_start() argument
162 int ov7660_stop(struct sd *sd) in ov7660_stop() argument
167 void ov7660_disconnect(struct sd *sd) in ov7660_disconnect() argument
169 ov7660_stop(sd); in ov7660_disconnect()
171 sd->sensor = NULL; in ov7660_disconnect()
178 struct sd *sd = (struct sd *) gspca_dev; in ov7660_set_gain() local
182 err = m5602_write_sensor(sd, OV7660_GAIN, &i2c_data, 1); in ov7660_set_gain()
191 struct sd *sd = (struct sd *) gspca_dev; in ov7660_set_auto_white_balance() local
195 err = m5602_read_sensor(sd, OV7660_COM8, &i2c_data, 1); in ov7660_set_auto_white_balance()
200 err = m5602_write_sensor(sd, OV7660_COM8, &i2c_data, 1); in ov7660_set_auto_white_balance()
209 struct sd *sd = (struct sd *) gspca_dev; in ov7660_set_auto_gain() local
213 err = m5602_read_sensor(sd, OV7660_COM8, &i2c_data, 1); in ov7660_set_auto_gain()
219 return m5602_write_sensor(sd, OV7660_COM8, &i2c_data, 1); in ov7660_set_auto_gain()
227 struct sd *sd = (struct sd *) gspca_dev; in ov7660_set_auto_exposure() local
231 err = m5602_read_sensor(sd, OV7660_COM8, &i2c_data, 1); in ov7660_set_auto_exposure()
238 return m5602_write_sensor(sd, OV7660_COM8, &i2c_data, 1); in ov7660_set_auto_exposure()
245 struct sd *sd = (struct sd *) gspca_dev; in ov7660_set_hvflip() local
247 PDEBUG(D_CONF, "Set hvflip to %d, %d", sd->hflip->val, sd->vflip->val); in ov7660_set_hvflip()
249 i2c_data = (sd->hflip->val << 5) | (sd->vflip->val << 4); in ov7660_set_hvflip()
251 err = m5602_write_sensor(sd, OV7660_MVFP, &i2c_data, 1); in ov7660_set_hvflip()
260 struct sd *sd = (struct sd *) gspca_dev; in ov7660_s_ctrl() local
277 err = ov7660_set_gain(gspca_dev, sd->gain->val); in ov7660_s_ctrl()
289 static void ov7660_dump_registers(struct sd *sd) in ov7660_dump_registers() argument
295 m5602_read_sensor(sd, address, &value, 1); in ov7660_dump_registers()
306 m5602_read_sensor(sd, address, &old_value, 1); in ov7660_dump_registers()
307 m5602_write_sensor(sd, address, test_value, 1); in ov7660_dump_registers()
308 m5602_read_sensor(sd, address, &ctrl_value, 1); in ov7660_dump_registers()
316 m5602_write_sensor(sd, address, &old_value, 1); in ov7660_dump_registers()