+
+cam_err_t
+cam_driver_set_torch(int fd, int on)
+{
+ cam_driver_dbg ("%s: state %d\n", __func__, on);
+ cam_err_t ret;
+ if (on) {
+ ret = cam_driver_set_attribute(fd, V4L2_CID_FLASH_MODE, ATOMISP_FLASH_MODE_TORCH, "Flash mode");
+ if (ret == CAM_ERR_NONE)
+ ret = cam_driver_set_attribute (fd, V4L2_CID_FLASH_TORCH_INTENSITY, TORCH_INTENSITY, "Torch intensity");
+ }
+ else {
+ ret = cam_driver_set_attribute(fd, V4L2_CID_FLASH_MODE, ATOMISP_FLASH_MODE_OFF, "Flash mode");
+ if(ret == CAM_ERR_NONE)
+ ret = cam_driver_set_attribute (fd, V4L2_CID_FLASH_TORCH_INTENSITY, 0, "Torch intensity");
+ }
+ cam_driver_dbg ("%s: ret %d\n", __func__, ret);
+ return ret;
+}