Lines Matching refs:vm149c_dev

332 	struct vm149c_device *vm149c_dev = sd_to_vm149c_vcm(sd);  in vm149c_ioctl()  local
340 vcm_tim->vcm_start_t.tv_sec = vm149c_dev->start_move_tv.tv_sec; in vm149c_ioctl()
341 vcm_tim->vcm_start_t.tv_usec = vm149c_dev->start_move_tv.tv_usec; in vm149c_ioctl()
342 vcm_tim->vcm_end_t.tv_sec = vm149c_dev->end_move_tv.tv_sec; in vm149c_ioctl()
343 vcm_tim->vcm_end_t.tv_usec = vm149c_dev->end_move_tv.tv_usec; in vm149c_ioctl()
351 vcm_cfg->start_ma = vm149c_dev->vcm_cfg.start_ma; in vm149c_ioctl()
352 vcm_cfg->rated_ma = vm149c_dev->vcm_cfg.rated_ma; in vm149c_ioctl()
353 vcm_cfg->step_mode = vm149c_dev->vcm_cfg.step_mode; in vm149c_ioctl()
357 vm149c_dev->vcm_cfg.start_ma = vcm_cfg->start_ma; in vm149c_ioctl()
358 vm149c_dev->vcm_cfg.rated_ma = vcm_cfg->rated_ma; in vm149c_ioctl()
359 vm149c_dev->vcm_cfg.step_mode = vcm_cfg->step_mode; in vm149c_ioctl()
360 vm149c_update_vcm_cfg(vm149c_dev); in vm149c_ioctl()
420 static void vm149c_subdev_cleanup(struct vm149c_device *vm149c_dev) in vm149c_subdev_cleanup() argument
422 v4l2_device_unregister_subdev(&vm149c_dev->sd); in vm149c_subdev_cleanup()
423 v4l2_device_unregister(&vm149c_dev->vdev); in vm149c_subdev_cleanup()
424 v4l2_ctrl_handler_free(&vm149c_dev->ctrls_vcm); in vm149c_subdev_cleanup()
425 media_entity_cleanup(&vm149c_dev->sd.entity); in vm149c_subdev_cleanup()
449 struct vm149c_device *vm149c_dev; in vm149c_probe() local
497 vm149c_dev = devm_kzalloc(&client->dev, sizeof(*vm149c_dev), in vm149c_probe()
499 if (vm149c_dev == NULL) in vm149c_probe()
503 &vm149c_dev->module_index); in vm149c_probe()
505 &vm149c_dev->module_facing); in vm149c_probe()
512 v4l2_i2c_subdev_init(&vm149c_dev->sd, client, &vm149c_ops); in vm149c_probe()
513 vm149c_dev->sd.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE; in vm149c_probe()
514 vm149c_dev->sd.internal_ops = &vm149c_int_ops; in vm149c_probe()
516 ret = vm149c_init_controls(vm149c_dev); in vm149c_probe()
520 ret = media_entity_pads_init(&vm149c_dev->sd.entity, 0, NULL); in vm149c_probe()
524 sd = &vm149c_dev->sd; in vm149c_probe()
528 if (strcmp(vm149c_dev->module_facing, "back") == 0) in vm149c_probe()
534 vm149c_dev->module_index, facing, in vm149c_probe()
540 vm149c_dev->max_ma = max_ma; in vm149c_probe()
541 vm149c_dev->vcm_cfg.start_ma = start_ma; in vm149c_probe()
542 vm149c_dev->vcm_cfg.rated_ma = rated_ma; in vm149c_probe()
543 vm149c_dev->vcm_cfg.step_mode = step_mode; in vm149c_probe()
544 vm149c_update_vcm_cfg(vm149c_dev); in vm149c_probe()
545 vm149c_dev->move_ms = 0; in vm149c_probe()
546 vm149c_dev->current_related_pos = VCMDRV_MAX_LOG; in vm149c_probe()
547 vm149c_dev->start_move_tv = ns_to_kernel_old_timeval(ktime_get_ns()); in vm149c_probe()
548 vm149c_dev->end_move_tv = ns_to_kernel_old_timeval(ktime_get_ns()); in vm149c_probe()
549 if ((vm149c_dev->step_mode & 0x0c) != 0) { in vm149c_probe()
550 vm149c_dev->vcm_movefull_t = in vm149c_probe()
551 64 * (1 << (vm149c_dev->step_mode & 0x03)) * 1024 / in vm149c_probe()
552 ((1 << (((vm149c_dev->step_mode & 0x0c) >> 2) - 1)) * 1000); in vm149c_probe()
554 vm149c_dev->vcm_movefull_t = 64 * 1023 / 1000; in vm149c_probe()
566 vm149c_subdev_cleanup(vm149c_dev); in vm149c_probe()
574 struct vm149c_device *vm149c_dev = sd_to_vm149c_vcm(sd); in vm149c_remove() local
577 vm149c_subdev_cleanup(vm149c_dev); in vm149c_remove()
591 struct vm149c_device *vm149c_dev = sd_to_vm149c_vcm(sd); in vm149c_vcm_resume() local
593 vm149c_set_pos(vm149c_dev, vm149c_dev->current_related_pos); in vm149c_vcm_resume()