Create CameraHardwareInterface.h

file head description
Update CameraHardwareInterface.h
Create QCameraStateMachine.cpp

file head description
Update QCameraStateMachine.cpp

commitParameterChanges() can set parameters
Update QCamera2HWI.cpp
Update QCameraParameters.cpp

commit all set parameters in the batch work to backend
Create mm_camera_interface.c

file head description
Update mm_camera_interface.c

set parameters per camera to server
Create mm_camera.c

file head description
Update mm_camera.c

set parameters via ioctl()
[cam_set_parms]transmit hal command to mm-camera

ioctl(fd, VIDIOC_S_CTRL, &control)-->V4L2-->mm-camera media server
[cam_set_parms]mct pipeline send set parms event

process server message then send MCT_EVENT_CONTROL_SET_PARM event
Create cpp_module.c

file head description
[cam_set_parms]cpp module process downstream event

process downstream event, then go to cpp_module_events.c to handle set parm event
Create cpp_module_events.c

file head description
[cam_set_parm]cpp module handle set parm event

cpp_module_handle_set_parm_event()-->cpp_module_set_parm_sharpness()
[cam_set_parm]process events according formats

module_sensor_module_process_event()-->module_sensor_event_control_set_parm()-->sensor_process()
according to sensor formats SENSOR_YCBCR / SENSOR_BAYER
Create sensor.c

file head description
[cam_set_param]YUV sensor process event

YUV sensor process event using ioctl(ctrl->s_data->fd, VIDIOC_MSM_SENSOR_CFG, &cfg) into KS
static struct v4l2_subdev_ops msm_sensor_subdev_ops
[cam_set_param]called by subdev ioctl in US

e.g. ioctl(ctrl->s_data->fd, VIDIOC_MSM_SENSOR_CFG, &cfg)