您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ v4l2_subdev_notify函数代码示例

51自学网 2021-06-03 09:30:19
  C++
这篇教程C++ v4l2_subdev_notify函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中v4l2_subdev_notify函数的典型用法代码示例。如果您正苦于以下问题:C++ v4l2_subdev_notify函数的具体用法?C++ v4l2_subdev_notify怎么用?C++ v4l2_subdev_notify使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了v4l2_subdev_notify函数的23个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: msm_sensor_setting1

int32_t msm_sensor_setting1(struct msm_sensor_ctrl_t *s_ctrl,			int update_type, int res){	int32_t rc = 0;	static int csi_config;	s_ctrl->func_tbl->sensor_stop_stream(s_ctrl);	msleep(30);	if (update_type == MSM_SENSOR_REG_INIT) {		printk("Register INIT/n");		s_ctrl->curr_csi_params = NULL;		msm_sensor_enable_debugfs(s_ctrl);		msm_sensor_write_init_settings(s_ctrl);						if (NULL != s_ctrl->func_tbl->sensor_download_af_firmware)			{	  	               pr_err("+++++download af firmware+++++++++++ %s /n",__func__);		      rc=s_ctrl->func_tbl->sensor_download_af_firmware(s_ctrl);        		if(!rc)        		{        		  printk("%s:ov5640 AF FW download success/n",__func__);			#ifdef CONFIG_OV5640	        		  download_flag=1;   //download success is 1        		 #endif        		}		}				csi_config = 0;	} else if (update_type == MSM_SENSOR_UPDATE_PERIODIC) {		printk("PERIODIC : %d/n", res);		 printk("%s:sensor_name = %s, res = %d/n",__func__, s_ctrl->sensordata->sensor_name, res);		msm_sensor_write_conf_array(			s_ctrl->sensor_i2c_client,			s_ctrl->msm_sensor_reg->mode_settings, res);		msleep(30);		if (!csi_config) {			s_ctrl->curr_csic_params = s_ctrl->csic_params[res];			printk("CSI config in progress/n");			v4l2_subdev_notify(&s_ctrl->sensor_v4l2_subdev,				NOTIFY_CSIC_CFG,				s_ctrl->curr_csic_params);			printk("CSI config is done/n");			mb();			msleep(30);			csi_config = 1;		}		v4l2_subdev_notify(&s_ctrl->sensor_v4l2_subdev,			NOTIFY_PCLK_CHANGE,			&s_ctrl->sensordata->pdata->ioclk.vfe_clk_rate);		s_ctrl->func_tbl->sensor_start_stream(s_ctrl);		msleep(50);	}	return rc;}
开发者ID:xdatravelbug,项目名称:N909D_Kernel_JB_4.1.2,代码行数:60,


示例2: hi542_sensor_setting

int32_t hi542_sensor_setting(struct msm_sensor_ctrl_t *s_ctrl,			int update_type, int res){	int32_t rc = 0;	static int csi_config;	if (update_type == MSM_SENSOR_REG_INIT) {		CDBG("Register INIT/n");		printk("##### %s line%d: Register INIT/n",__func__,__LINE__);		s_ctrl->func_tbl->sensor_stop_stream(s_ctrl);		msleep(66);		s_ctrl->curr_csi_params = NULL;		msm_sensor_enable_debugfs(s_ctrl);		printk("##### %s line%d: begin to write init setting !/n",__func__,__LINE__);		msm_sensor_write_init_settings(s_ctrl);		printk("##### %s line%d: init setting end !/n",__func__,__LINE__);		csi_config = 0;	} else if (update_type == MSM_SENSOR_UPDATE_PERIODIC) {		CDBG("PERIODIC : %d/n", res);		s_ctrl->func_tbl->sensor_stop_stream(s_ctrl);		msleep(66);		msm_sensor_write_conf_array(			s_ctrl->sensor_i2c_client,			s_ctrl->msm_sensor_reg->mode_settings, res);		msleep(100);		if (!csi_config) {			s_ctrl->curr_csic_params = s_ctrl->csic_params[res];			CDBG("CSI config in progress/n");			v4l2_subdev_notify(&s_ctrl->sensor_v4l2_subdev,				NOTIFY_CSIC_CFG,				s_ctrl->curr_csic_params);			CDBG("CSI config is done/n");			mb();			msleep(30);			csi_config = 1;		}		//zxj ++		#ifdef ORIGINAL_VERSION		v4l2_subdev_notify(&s_ctrl->sensor_v4l2_subdev,			NOTIFY_PCLK_CHANGE,			&s_ctrl->sensordata->pdata->ioclk.vfe_clk_rate);		#else		printk("##### %s line%d: vfe_clk_rate = %d/n",__func__,__LINE__,vfe_clk_rate);		v4l2_subdev_notify(&s_ctrl->sensor_v4l2_subdev,			NOTIFY_PCLK_CHANGE, &vfe_clk_rate);			#endif		//zxj --				s_ctrl->func_tbl->sensor_start_stream(s_ctrl);		msleep(100);	}	return rc;}
开发者ID:android-armv7a-belalang-tempur,项目名称:gp-peak-kernel,代码行数:54,


示例3: imx111_sensor_setting

int32_t imx111_sensor_setting(struct msm_sensor_ctrl_t *s_ctrl,			int update_type, int res){	int32_t rc = 0;	printk("%s: E: update_type=%d, res=%d/n", __func__, update_type, res);	s_ctrl->func_tbl->sensor_stop_stream(s_ctrl);	msleep(30);	if (update_type == MSM_SENSOR_REG_INIT) {		s_ctrl->curr_csi_params = NULL;		msm_sensor_enable_debugfs(s_ctrl);		msm_sensor_write_init_settings(s_ctrl);	} else if (update_type == MSM_SENSOR_UPDATE_PERIODIC) {		if (res == 0) {			msm_camera_i2c_write_tbl(s_ctrl->sensor_i2c_client,				(struct msm_camera_i2c_reg_conf *)				imx111_comm_confs[0].conf,				imx111_comm_confs[0].size,				imx111_comm_confs[0].data_type);		} else {			msm_sensor_write_res_settings(s_ctrl, res);			if (s_ctrl->curr_csi_params != s_ctrl->csi_params[res]) {				s_ctrl->curr_csi_params = s_ctrl->csi_params[res];				s_ctrl->curr_csi_params->csid_params.lane_assign =					s_ctrl->sensordata->sensor_platform_info->					csi_lane_params->csi_lane_assign;				s_ctrl->curr_csi_params->csiphy_params.lane_mask =					s_ctrl->sensordata->sensor_platform_info->					csi_lane_params->csi_lane_mask;				v4l2_subdev_notify(&s_ctrl->sensor_v4l2_subdev,					NOTIFY_CSID_CFG,					&s_ctrl->curr_csi_params->csid_params);				mb();				v4l2_subdev_notify(&s_ctrl->sensor_v4l2_subdev,					NOTIFY_CSIPHY_CFG,					&s_ctrl->curr_csi_params->csiphy_params);				mb();				msleep(20);			}			v4l2_subdev_notify(&s_ctrl->sensor_v4l2_subdev,				NOTIFY_PCLK_CHANGE, &s_ctrl->msm_sensor_reg->				output_settings[res].op_pixel_clk);			s_ctrl->func_tbl->sensor_start_stream(s_ctrl);			msleep(30);		}	}	printk("%s: X", __func__);	return rc;}
开发者ID:GameTheory-,项目名称:android_kernel_lge_l1v,代码行数:51,


示例4: msm_csid_irq

static irqreturn_t msm_csid_irq(int irq_num, void *data){	uint32_t irq;	struct csid_device *csid_dev = data;	if (!csid_dev||!csid_dev->base) {		pr_err("%s:%d csid_dev NULL/n", __func__, __LINE__);		return IRQ_HANDLED;	}	irq = msm_camera_io_r(csid_dev->base + CSID_IRQ_STATUS_ADDR);	CDBG("%s CSID%d_IRQ_STATUS_ADDR = 0x%x/n",		 __func__, csid_dev->pdev->id, irq);	if (irq & (0x1 << CSID_RST_DONE_IRQ_BITSHIFT))		complete(&csid_dev->reset_complete);	if (irq & CSID_IRQ_UNBOUNDED_FRAME_MASK)		pr_err("%s - received CSID_IRQ_UNBOUNDED_FRAME_MASK!/n",				__func__);	if (irq & CSID_IRQ_STREAM_UNDERFLOW_MASK) {		pr_err("%s - received CSID_IRQ_STREAM_UNDERFLOW_MASK!/n",				__func__);		v4l2_subdev_notify(&csid_dev->subdev,				NOTIFY_CSID_STREAM_UNDERFLOW_ERROR,				(void *)NULL);	}	if (irq & CSID_IRQ_ECC_MASK) {		pr_err("%s - received CSID_IRQ_ECC_MASK!/n",				__func__);		v4l2_subdev_notify(&csid_dev->subdev,				NOTIFY_CSID_ECC_ERROR,				(void *)NULL);	}	if (irq & CSID_IRQ_CRC_MASK) {		pr_err("%s - received CSID_IRQ_CRC_MASK!/n",				__func__);		v4l2_subdev_notify(&csid_dev->subdev,				NOTIFY_CSID_CRC_ERROR,				(void *)NULL);	}	if (irq & CSID_IRQ_PHY_DL_OVERFLOW_MASK) {		pr_err("%s - received CSID_IRQ_PHY_DL_OVERFLOW_MASK!/n",				__func__);		v4l2_subdev_notify(&csid_dev->subdev,				NOTIFY_CSID_PHY_DL_OVERFLOW_ERROR,				(void *)NULL);	}	msm_camera_io_w(irq, csid_dev->base + CSID_IRQ_CLEAR_CMD_ADDR);	return IRQ_HANDLED;}
开发者ID:kamarush,项目名称:caf_kernel_mm,代码行数:49,


示例5: hi351_sensor_setting

int32_t hi351_sensor_setting(struct msm_sensor_ctrl_t *s_ctrl,			int update_type, int res){	int32_t rc = 0;	static int csi_config;	if (update_type == MSM_SENSOR_REG_INIT) {#if defined (LGE_CAMERA_ANTIBAND_50HZ)	//Flicker 50Hz		pr_err("Register INIT with Flicker 50Hz Mode/n");#else		pr_err("Register INIT with Flicker 60Hz Mode/n");#endif		s_ctrl->curr_csi_params = NULL;		msm_sensor_enable_debugfs(s_ctrl);		PREV_EFFECT = -1;		PREV_ISO = -1;		PREV_WB = -1;		PREV_FPS = -1;		PREV_BESTSHOT = -1;		DELAY_START = 0;		hi351_reg_init(s_ctrl);		csi_config = 0;	} else if (update_type == MSM_SENSOR_UPDATE_PERIODIC) {		pr_err("PERIODIC : %d/n", res);		if (!csi_config) {			s_ctrl->func_tbl->sensor_stop_stream(s_ctrl);			msleep(20);			s_ctrl->curr_csic_params = s_ctrl->csic_params[res];			pr_err("CSI config in progress/n");			v4l2_subdev_notify(&s_ctrl->sensor_v4l2_subdev,				NOTIFY_CSIC_CFG,				s_ctrl->curr_csic_params);			pr_err("CSI config is done/n");			mb();			msleep(50);			csi_config = 1;			s_ctrl->func_tbl->sensor_start_stream(s_ctrl);		}		hi351_sensor_write_conf_array(			s_ctrl->sensor_i2c_client,			s_ctrl->msm_sensor_reg->mode_settings, res);		v4l2_subdev_notify(&s_ctrl->sensor_v4l2_subdev,			NOTIFY_PCLK_CHANGE,			&s_ctrl->sensordata->pdata->ioclk.vfe_clk_rate);	}	return rc;}
开发者ID:F4uzan,项目名称:skernel_u0,代码行数:49,


示例6: s5k5ca_sensor_setting

int32_t s5k5ca_sensor_setting(struct msm_sensor_ctrl_t *s_ctrl,			int update_type, int res){	int32_t rc = 0;	printk("/n s5k5ca_sensor_setting() update_type:%d res:%d/n",update_type,res);	if (update_type == MSM_SENSOR_REG_INIT) {		//printk("PERIODIC : %d/n", res);		s_ctrl->curr_csic_params = s_ctrl->csic_params[res];		//printk("CSI config in progress/n");		v4l2_subdev_notify(&s_ctrl->sensor_v4l2_subdev,			NOTIFY_CSIC_CFG,			s_ctrl->curr_csic_params);		//printk("CSI config is done/n");		mb();		//printk("Register INIT/n");		s_ctrl->curr_csi_params = NULL;		rc=msm_sensor_enable_debugfs(s_ctrl);		if( rc!=0 )			printk("s5k5ca_sensor_setting()rc:%d",rc);		rc=msm_sensor_write_init_settings(s_ctrl);		if( rc!=0 )			printk("s5k5ca_sensor_setting()rc:%d",rc);	} else if (update_type == MSM_SENSOR_UPDATE_PERIODIC) {		//CDBG("PERIODIC : %d/n", res);		if((res==0) &&(night_mode_flag==msm_v4l2_best_shot_night))			{		rc=msm_sensor_write_conf_array(			s_ctrl->sensor_i2c_client,			&s5k5ca_confs_night_mode[0], res);			if( rc!=0 )			printk("s5k5ca_sensor_setting()rc:%d",rc);			}		else		rc=msm_sensor_write_conf_array(			s_ctrl->sensor_i2c_client,			s_ctrl->msm_sensor_reg->mode_settings, res);		if( rc!=0 )			printk("s5k5ca_sensor_setting()rc:%d",rc);		if (res == MSM_SENSOR_RES_4)			v4l2_subdev_notify(&s_ctrl->sensor_v4l2_subdev,					NOTIFY_PCLK_CHANGE,					&vfe_clk);	}	return rc;}
开发者ID:Zoldyck07,项目名称:android_kernel_sony_msm7x27a,代码行数:48,


示例7: ov5693_sensor_setting

int32_t ov5693_sensor_setting(struct msm_sensor_ctrl_t *s_ctrl,		int update_type, int res){	int32_t rc = 0;	if (update_type == MSM_SENSOR_REG_INIT) {		s_ctrl->func_tbl->sensor_stop_stream(s_ctrl);		// Software reset		msm_camera_i2c_write(				s_ctrl->sensor_i2c_client,				0x103, 0x1,				MSM_CAMERA_I2C_BYTE_DATA);		msm_sensor_write_init_settings(s_ctrl);		msm_camera_i2c_write(s_ctrl->sensor_i2c_client, 0x100, 0x1,			MSM_CAMERA_I2C_BYTE_DATA);#if 0 // from QCT Reference driver		ov5693_read_opt(s_ctrl);		msm_camera_i2c_write(s_ctrl->sensor_i2c_client, 0x100, 0x0,		  MSM_CAMERA_I2C_BYTE_DATA);#endif	} else if (update_type == MSM_SENSOR_UPDATE_PERIODIC) {		msm_sensor_write_res_settings(s_ctrl, res);		v4l2_subdev_notify(&s_ctrl->sensor_v4l2_subdev,			NOTIFY_PCLK_CHANGE, &s_ctrl->msm_sensor_reg->			output_settings[res].op_pixel_clk);	}	return rc;}
开发者ID:ronasimi,项目名称:LGF180-Optimus-G-_Android_KK_v30a_Kernel,代码行数:32,


示例8: ov10820_sensor_setting

static int32_t ov10820_sensor_setting(struct msm_sensor_ctrl_t *s_ctrl,			int update_type, int res){	int32_t rc = 0;	if (update_type == MSM_SENSOR_REG_INIT) {		s_ctrl->func_tbl->sensor_stop_stream(s_ctrl);		msm_sensor_write_init_settings(s_ctrl);	} else if (update_type == MSM_SENSOR_UPDATE_PERIODIC) {		if (ov660_exists) {			rc = ov660_set_sensor_mode(res, revision);			if (rc < 0)				return rc;		}		rc = msm_sensor_write_conf_array(				s_ctrl->sensor_i2c_client,				s_ctrl->msm_sensor_reg->mode_settings, res);		if (rc < 0)			return rc;		v4l2_subdev_notify(&s_ctrl->sensor_v4l2_subdev,			NOTIFY_PCLK_CHANGE, &s_ctrl->msm_sensor_reg->			output_settings[res].op_pixel_clk);	}	return rc;}
开发者ID:ReflexBow,项目名称:android_kernel_motorola_ghost,代码行数:25,


示例9: dw9714_get_otp_af

int dw9714_get_otp_af(struct hisi_vcm_ctrl_t *vcm_ctrl, void *data){	struct vcm_cfg_data *cdata = (struct vcm_cfg_data *)data;	struct hisi_sd_req_sd vcm_req_sd = {0};	char sd_name[DEV_NAME_SIZE]={0};	struct hisi_sensor_ctrl_t *s_ctrl;	int rc = 0;	cam_debug("%s enter.", __func__);	snprintf(sd_name, sizeof(sd_name), "hisi_sensor_%d", vcm_ctrl->index);	vcm_req_sd.name = sd_name;	v4l2_subdev_notify(&vcm_ctrl->hisi_sd.sd, HISI_SD_NOTIFY_GET_SD, &vcm_req_sd);	s_ctrl = container_of(container_of(vcm_req_sd.subdev, struct hisi_sd_subdev, sd),				struct hisi_sensor_ctrl_t, hisi_sd);	if (s_ctrl->sensor->sensor_otp.af_otp.af_otp_succeed) {		cam_info("%s succeed to get otp af.", __func__);		memcpy(&cdata->cfg.af_otp, &s_ctrl->sensor->sensor_otp.af_otp,			sizeof(struct hisi_sensor_af_otp));		rc = 0;	} else {		cam_err("%s failed to get otp af.", __func__);		memset(&cdata->cfg.af_otp, 0, sizeof(struct hisi_sensor_af_otp));		rc = -1;	}	return rc;}
开发者ID:Machiry,项目名称:android_kernel_huawei_hi6210sft,代码行数:29,


示例10: imx111_sensor_setting

int32_t imx111_sensor_setting(struct msm_sensor_ctrl_t *s_ctrl,			int update_type, int res){	int32_t rc = 0;	pr_err("[rafal47] %s: update: %d, res : %d : Change camera mode/n", __func__, update_type, res);//	s_ctrl->func_tbl->sensor_stop_stream(s_ctrl);//	msleep(30);	if (update_type == MSM_SENSOR_REG_INIT) {		msm_sensor_enable_debugfs(s_ctrl);		msm_sensor_write_init_settings(s_ctrl);	} else if (update_type == MSM_SENSOR_UPDATE_PERIODIC) {		if (res == 0) {			msm_camera_i2c_write_tbl(s_ctrl->sensor_i2c_client,				(struct msm_camera_i2c_reg_conf *)				imx111_comm_confs[0].conf,				imx111_comm_confs[0].size,				imx111_comm_confs[0].data_type);         printk("[tykim] %s: csi_lane_assign not setting/n", __func__); /*                                                                     */		} else {			msm_sensor_write_res_settings(s_ctrl, res);			v4l2_subdev_notify(&s_ctrl->sensor_v4l2_subdev,				NOTIFY_PCLK_CHANGE, &s_ctrl->msm_sensor_reg->				output_settings[res].op_pixel_clk);		}	}	printk("%s: X", __func__);	return rc;}
开发者ID:Loller79,项目名称:Solid_Kernel-STOCK-KK-CAF,代码行数:28,


示例11: imx111_sensor_write_exp_gain1

int32_t imx111_sensor_write_exp_gain1(struct msm_sensor_ctrl_t *s_ctrl,		uint16_t gain, uint32_t line, int32_t luma_avg, uint16_t fgain){	uint32_t fl_lines;	uint8_t offset;	fl_lines = s_ctrl->curr_frame_length_lines;	fl_lines = (fl_lines * s_ctrl->fps_divider) / Q10;	offset = s_ctrl->sensor_exp_gain_info->vert_offset;	if (line > (fl_lines - offset))		fl_lines = line + offset;	CDBG("/n%s:Gain:%d, Linecount:%d/n", __func__, gain, line);	if (s_ctrl->curr_res == 0) {		msm_camera_i2c_write_tbl(s_ctrl->sensor_i2c_client,			(struct msm_camera_i2c_reg_conf *)			imx111_comm_confs[1].conf,			imx111_comm_confs[1].size,			imx111_comm_confs[1].data_type);		msm_camera_i2c_write(s_ctrl->sensor_i2c_client,			s_ctrl->sensor_output_reg_addr->frame_length_lines,			fl_lines, MSM_CAMERA_I2C_WORD_DATA);		msm_camera_i2c_write(s_ctrl->sensor_i2c_client,			s_ctrl->sensor_exp_gain_info->coarse_int_time_addr,			line, MSM_CAMERA_I2C_WORD_DATA);		msm_camera_i2c_write(s_ctrl->sensor_i2c_client,			s_ctrl->sensor_exp_gain_info->global_gain_addr, gain,			MSM_CAMERA_I2C_WORD_DATA);		msm_camera_i2c_write_tbl(s_ctrl->sensor_i2c_client,			(struct msm_camera_i2c_reg_conf *)			imx111_comm_confs[2].conf,			imx111_comm_confs[2].size,			imx111_comm_confs[2].data_type);		v4l2_subdev_notify(&s_ctrl->sensor_v4l2_subdev,			NOTIFY_PCLK_CHANGE, &s_ctrl->msm_sensor_reg->			output_settings[s_ctrl->curr_res].op_pixel_clk);//		s_ctrl->func_tbl->sensor_start_stream(s_ctrl);	} else {		s_ctrl->func_tbl->sensor_group_hold_on(s_ctrl);		msm_camera_i2c_write(s_ctrl->sensor_i2c_client,			s_ctrl->sensor_output_reg_addr->frame_length_lines,			fl_lines, MSM_CAMERA_I2C_WORD_DATA);		msm_camera_i2c_write(s_ctrl->sensor_i2c_client,			s_ctrl->sensor_exp_gain_info->coarse_int_time_addr,			line, MSM_CAMERA_I2C_WORD_DATA);		msm_camera_i2c_write(s_ctrl->sensor_i2c_client,			s_ctrl->sensor_exp_gain_info->global_gain_addr, gain,			MSM_CAMERA_I2C_WORD_DATA);		s_ctrl->func_tbl->sensor_group_hold_off(s_ctrl);	}	return 0;}
开发者ID:Loller79,项目名称:Solid_Kernel-STOCK-KK-CAF,代码行数:56,


示例12: msm_sensor_setting1

int32_t msm_sensor_setting1(struct msm_sensor_ctrl_t *s_ctrl,			int update_type, int res){	int32_t rc = 0;	static int csi_config;	printk("%s : E/n", __func__); // [email
C++ v4l_bound_align_image函数代码示例
C++ v4l2_subdev_init函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。