Lines Matching refs:cn3927v_dev
919 static void cn3927v_subdev_cleanup(struct cn3927v_device *cn3927v_dev) in cn3927v_subdev_cleanup() argument
921 v4l2_device_unregister_subdev(&cn3927v_dev->sd); in cn3927v_subdev_cleanup()
922 v4l2_device_unregister(&cn3927v_dev->vdev); in cn3927v_subdev_cleanup()
923 v4l2_ctrl_handler_free(&cn3927v_dev->ctrls_vcm); in cn3927v_subdev_cleanup()
924 media_entity_cleanup(&cn3927v_dev->sd.entity); in cn3927v_subdev_cleanup()
1273 struct cn3927v_device *cn3927v_dev; in cn3927v_probe() local
1283 cn3927v_dev = devm_kzalloc(dev, sizeof(*cn3927v_dev), in cn3927v_probe()
1285 if (cn3927v_dev == NULL) in cn3927v_probe()
1288 ret = cn3927v_parse_dt_property(client, cn3927v_dev); in cn3927v_probe()
1291 v4l2_i2c_subdev_init(&cn3927v_dev->sd, client, &cn3927v_ops); in cn3927v_probe()
1292 cn3927v_dev->sd.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE; in cn3927v_probe()
1293 cn3927v_dev->sd.internal_ops = &cn3927v_int_ops; in cn3927v_probe()
1295 cn3927v_dev->max_logicalpos = VCMDRV_MAX_LOG; in cn3927v_probe()
1296 ret = cn3927v_init_controls(cn3927v_dev); in cn3927v_probe()
1300 ret = media_entity_pads_init(&cn3927v_dev->sd.entity, 0, NULL); in cn3927v_probe()
1304 ret = __cn3927v_set_power(cn3927v_dev, true); in cn3927v_probe()
1308 ret = cn3927v_check_i2c(cn3927v_dev, client); in cn3927v_probe()
1312 sd = &cn3927v_dev->sd; in cn3927v_probe()
1316 if (strcmp(cn3927v_dev->module_facing, "back") == 0) in cn3927v_probe()
1322 cn3927v_dev->module_index, facing, in cn3927v_probe()
1328 cn3927v_update_vcm_cfg(cn3927v_dev); in cn3927v_probe()
1329 cn3927v_dev->move_ms = 0; in cn3927v_probe()
1330 cn3927v_dev->current_related_pos = cn3927v_dev->max_logicalpos; in cn3927v_probe()
1331 cn3927v_dev->current_lens_pos = cn3927v_dev->start_current; in cn3927v_probe()
1332 cn3927v_dev->start_move_tv = ns_to_kernel_old_timeval(ktime_get_ns()); in cn3927v_probe()
1333 cn3927v_dev->end_move_tv = ns_to_kernel_old_timeval(ktime_get_ns()); in cn3927v_probe()
1334 cn3927v_dev->vcm_movefull_t = in cn3927v_probe()
1335 cn3927v_move_time(cn3927v_dev, CN3927V_MAX_REG); in cn3927v_probe()
1344 __cn3927v_set_power(cn3927v_dev, false); in cn3927v_probe()
1347 cn3927v_subdev_cleanup(cn3927v_dev); in cn3927v_probe()
1355 struct cn3927v_device *cn3927v_dev = sd_to_cn3927v_vcm(sd); in cn3927v_remove() local
1359 cn3927v_subdev_cleanup(cn3927v_dev); in cn3927v_remove()
1367 struct cn3927v_device *cn3927v_dev = sd_to_cn3927v_vcm(sd); in cn3927v_init() local
1371 if (cn3927v_dev->adcanced_mode) { in cn3927v_init()
1391 ret = cn3927v_write_msg(client, CN3927V_ADVMODE_PRESC, cn3927v_dev->sac_prescl); in cn3927v_init()
1395 ret = cn3927v_write_msg(client, CN3927V_ADVMODE_SAC_TIME, cn3927v_dev->sac_time); in cn3927v_init()
1399 ret = cn3927v_write_msg(client, CN3927V_ADVMODE_PRESET, cn3927v_dev->nrc_preset); in cn3927v_init()
1403 data = (cn3927v_dev->nrc_en & 0x1) << 1 | in cn3927v_init()
1404 (cn3927v_dev->nrc_mode & 0x1); in cn3927v_init()
1411 (cn3927v_dev->nrc_infl & 0x3) << 5 | in cn3927v_init()
1412 (cn3927v_dev->nrc_time & 0x1) << 4 | in cn3927v_init()
1413 (cn3927v_dev->sac_mode & 0xF); in cn3927v_init()
1426 data = (cn3927v_dev->mclk & 0x3) | 0x04 | in cn3927v_init()
1427 ((cn3927v_dev->dlc_enable << 0x3) & 0x08); in cn3927v_init()
1432 data = (cn3927v_dev->t_src << 0x3) & 0xf8; in cn3927v_init()