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

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

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

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

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

示例1: msm_ispif_subdev_do_ioctl

static long msm_ispif_subdev_do_ioctl(	struct file *file, unsigned int cmd, void *arg){	struct video_device *vdev = video_devdata(file);	struct v4l2_subdev *sd = vdev_to_v4l2_subdev(vdev);	return msm_ispif_subdev_ioctl(sd, cmd, arg);}
开发者ID:Menpiko,项目名称:SnaPKernel-N6P,代码行数:7,


示例2: msm_sensor_init_subdev_do_ioctl

static long msm_sensor_init_subdev_do_ioctl(	struct file *file, unsigned int cmd, void *arg){	int32_t             rc = 0;	struct video_device *vdev = video_devdata(file);	struct v4l2_subdev *sd = vdev_to_v4l2_subdev(vdev);	struct sensor_init_cfg_data32 *u32 =		(struct sensor_init_cfg_data32 *)arg;	struct sensor_init_cfg_data sensor_init_data;	switch (cmd) {	case VIDIOC_MSM_SENSOR_INIT_CFG32:		memset(&sensor_init_data, 0, sizeof(sensor_init_data));		sensor_init_data.cfgtype = u32->cfgtype;		sensor_init_data.cfg.setting = compat_ptr(u32->cfg.setting);		cmd = VIDIOC_MSM_SENSOR_INIT_CFG;		rc = msm_sensor_init_subdev_ioctl(sd, cmd, &sensor_init_data);		if (rc < 0) {			pr_err("%s:%d VIDIOC_MSM_SENSOR_INIT_CFG failed",				__func__, __LINE__);			return rc;		}		u32->probed_info = sensor_init_data.probed_info;		strlcpy(u32->entity_name, sensor_init_data.entity_name,			sizeof(sensor_init_data.entity_name));		return 0;	default:		return msm_sensor_init_subdev_ioctl(sd, cmd, arg);	}}
开发者ID:bgtwoigu,项目名称:android_kernel_huawei_msm8909,代码行数:30,


示例3: msm_tcs_subdev_do_ioctl

static long msm_tcs_subdev_do_ioctl(	struct file *file, unsigned int cmd, void *arg){	struct video_device *vdev = video_devdata(file);	struct v4l2_subdev *sd = vdev_to_v4l2_subdev(vdev);	struct msm_tcs_cfg_data32 *u32 =		(struct msm_tcs_cfg_data32 *)arg;	struct msm_tcs_cfg_data tcs_data;	void __user *parg = (void __user *)arg;	CDBG("Enter/n");	switch (cmd) {	case VIDIOC_MSM_TCS_CFG32:		cmd = VIDIOC_MSM_TCS_CFG;		switch (u32->cfgtype) {			case CFG_TCS_INIT:			case CFG_TCS_ON:			case CFG_TCS_OFF:			case CFG_GET_TCS:			case CFG_TCS_THREAD_ON:			case CFG_TCS_THREAD_PAUSE:			case CFG_TCS_THREAD_RESTART:			case CFG_TCS_THREAD_OFF:			case CFG_TCS_AAT_MODE:				break;			 default:				tcs_data.cfgtype = u32->cfgtype;				parg = &tcs_data;				break;		}	}	return msm_tcs_subdev_ioctl(sd, cmd, parg);}
开发者ID:garwedgess,项目名称:android_kernel_lge_g4,代码行数:34,


示例4: subdev_compat_ioctl32

static long subdev_compat_ioctl32(struct file *file, unsigned int cmd,	unsigned long arg){	struct video_device *vdev = video_devdata(file);	struct v4l2_subdev *sd = vdev_to_v4l2_subdev(vdev);	return v4l2_subdev_call(sd, core, compat_ioctl32, cmd, arg);}
开发者ID:OSPro,项目名称:wpj344_compatwireless,代码行数:8,


示例5: subdev_open

static int subdev_open(struct file *file){    struct video_device *vdev = video_devdata(file);    struct v4l2_subdev *sd = vdev_to_v4l2_subdev(vdev);    struct v4l2_subdev_fh *subdev_fh;#if defined(CONFIG_MEDIA_CONTROLLER)    struct media_entity *entity = NULL;#endif    int ret;    subdev_fh = kzalloc(sizeof(*subdev_fh), GFP_KERNEL);    if (subdev_fh == NULL)        return -ENOMEM;    ret = subdev_fh_init(subdev_fh, sd);    if (ret) {        kfree(subdev_fh);        return ret;    }    v4l2_fh_init(&subdev_fh->vfh, vdev);    v4l2_fh_add(&subdev_fh->vfh);    file->private_data = &subdev_fh->vfh;#if defined(CONFIG_MEDIA_CONTROLLER)    if (sd->v4l2_dev->mdev) {        entity = media_entity_get(&sd->entity);        if (!entity) {            ret = -EBUSY;            goto err;        }    }#endif    if (sd->internal_ops && sd->internal_ops->open) {        ret = sd->internal_ops->open(sd, subdev_fh);        if (ret < 0)            goto err;    }    return 0;err:#if defined(CONFIG_MEDIA_CONTROLLER)    if (entity)        media_entity_put(entity);#endif    v4l2_fh_del(&subdev_fh->vfh);    v4l2_fh_exit(&subdev_fh->vfh);    subdev_fh_free(subdev_fh);    kfree(subdev_fh);    return ret;}
开发者ID:Yemege,项目名称:kernel-zynq,代码行数:53,


示例6: msm_sensor_subdev_do_ioctl

static long msm_sensor_subdev_do_ioctl(	struct file *file, unsigned int cmd, void *arg){	struct video_device *vdev = video_devdata(file);	struct v4l2_subdev *sd = vdev_to_v4l2_subdev(vdev);	switch (cmd) {	case VIDIOC_MSM_SENSOR_CFG32:		cmd = VIDIOC_MSM_SENSOR_CFG;	default:		return msm_sensor_subdev_ioctl(sd, cmd, arg);	}}
开发者ID:kaleidicforks,项目名称:sturgeon,代码行数:12,


示例7: msm_flash_subdev_do_ioctl

static long msm_flash_subdev_do_ioctl(	struct file *file, unsigned int cmd, void *arg){	int32_t rc = 0;	struct video_device *vdev = video_devdata(file);	struct v4l2_subdev *sd = vdev_to_v4l2_subdev(vdev);	struct msm_flash_cfg_data_t32 *u32 =		(struct msm_flash_cfg_data_t32 *)arg;	struct msm_flash_cfg_data_t flash_data;	struct msm_flash_init_info_t32 flash_init_info32;	struct msm_flash_init_info_t flash_init_info;	CDBG("Enter");	flash_data.cfg_type = u32->cfg_type;	switch (cmd) {	case VIDIOC_MSM_FLASH_CFG32:		cmd = VIDIOC_MSM_FLASH_CFG;		switch (flash_data.cfg_type) {		case CFG_FLASH_OFF:		case CFG_FLASH_LOW:		case CFG_FLASH_HIGH:			flash_data.cfg.settings = compat_ptr(u32->cfg.settings);			break;		case CFG_FLASH_INIT:			flash_data.cfg.flash_init_info = &flash_init_info;			if (copy_from_user(&flash_init_info32,				(void *)compat_ptr(u32->cfg.flash_init_info),				sizeof(struct msm_flash_init_info_t32))) {				pr_err("%s copy_from_user failed %d/n",					__func__, __LINE__);				return -EFAULT;			}			flash_init_info.flash_driver_type =				flash_init_info32.flash_driver_type;			flash_init_info.settings =				compat_ptr(flash_init_info32.settings);			flash_init_info.power_setting_array =				compat_ptr(				flash_init_info32.power_setting_array);			break;		default:			break;		}		break;	default:		return msm_flash_subdev_ioctl(sd, cmd, arg);	}	rc =  msm_flash_subdev_ioctl(sd, cmd, &flash_data);	CDBG("Exit");	return rc;}
开发者ID:devc100,项目名称:Nemesis_Kernel,代码行数:52,


示例8: subdev_poll

static unsigned int subdev_poll(struct file *file, poll_table *wait){	struct video_device *vdev = video_devdata(file);	struct v4l2_subdev *sd = vdev_to_v4l2_subdev(vdev);	struct v4l2_fh *fh = file->private_data;	if (!(sd->flags & V4L2_SUBDEV_FL_HAS_EVENTS))		return POLLERR;	poll_wait(file, &fh->wait, wait);	if (v4l2_event_pending(fh))		return POLLPRI;	return 0;}
开发者ID:OSPro,项目名称:wpj344_compatwireless,代码行数:16,


示例9: msm_cpp_subdev_do_ioctl

static long msm_cpp_subdev_do_ioctl(	struct file *file, unsigned int cmd, void *arg){	struct video_device *vdev = video_devdata(file);	struct v4l2_subdev *sd = vdev_to_v4l2_subdev(vdev);	struct v4l2_fh *vfh = file->private_data;	switch (cmd) {	case VIDIOC_DQEVENT:		if (!(sd->flags & V4L2_SUBDEV_FL_HAS_EVENTS))			return -ENOIOCTLCMD;		return v4l2_event_dequeue(vfh, arg, file->f_flags & O_NONBLOCK);	case VIDIOC_SUBSCRIBE_EVENT:		return v4l2_subdev_call(sd, core, subscribe_event, vfh, arg);	case VIDIOC_UNSUBSCRIBE_EVENT:		return v4l2_subdev_call(sd, core, unsubscribe_event, vfh, arg);	case VIDIOC_MSM_CPP_GET_INST_INFO: {		uint32_t i;		struct cpp_device *cpp_dev = v4l2_get_subdevdata(sd);		struct msm_camera_v4l2_ioctl_t *ioctl_ptr = arg;		struct msm_cpp_frame_info_t inst_info;                memset(&inst_info, 0 , sizeof(struct msm_cpp_frame_info_t));		for (i = 0; i < MAX_ACTIVE_CPP_INSTANCE; i++) {			if (cpp_dev->cpp_subscribe_list[i].vfh == vfh) {				inst_info.inst_id = i;				break;			}		}		if (copy_to_user(				(void __user *)ioctl_ptr->ioctl_ptr, &inst_info,				sizeof(struct msm_cpp_frame_info_t))) {			return -EINVAL;		}	}	break;	default:		return v4l2_subdev_call(sd, core, ioctl, cmd, arg);	}	return 0;}
开发者ID:Hadramos,项目名称:android_sony_xperiaz_kernel_sources,代码行数:45,


示例10: subdev_close

static int subdev_close(struct file *file){	struct video_device *vdev = video_devdata(file);	struct v4l2_subdev *sd = vdev_to_v4l2_subdev(vdev);	struct v4l2_fh *vfh = file->private_data;	struct v4l2_subdev_fh *subdev_fh = to_v4l2_subdev_fh(vfh);	v4l2_subdev_call(sd, file, close, subdev_fh);#if defined(CONFIG_MEDIA_CONTROLLER)	if (sd->v4l2_dev->mdev)		media_entity_put(&sd->entity);#endif	v4l2_fh_del(vfh);	v4l2_fh_exit(vfh);	subdev_fh_free(subdev_fh);	kfree(subdev_fh);	file->private_data = NULL;	return 0;}
开发者ID:jmw7912,项目名称:wat-0016-kernel-2.6.37,代码行数:20,


示例11: msm_isp_subdev_do_ioctl

static long msm_isp_subdev_do_ioctl(	struct file *file, unsigned int cmd, void *arg){	struct video_device *vdev = video_devdata(file);	struct v4l2_subdev *sd = vdev_to_v4l2_subdev(vdev);	struct v4l2_fh *vfh = file->private_data;	switch (cmd) {	case VIDIOC_DQEVENT:		if (!(sd->flags & V4L2_SUBDEV_FL_HAS_EVENTS))			return -ENOIOCTLCMD;		return v4l2_event_dequeue(vfh, arg, file->f_flags & O_NONBLOCK);	case VIDIOC_SUBSCRIBE_EVENT:		return v4l2_subdev_call(sd, core, subscribe_event, vfh, arg);	case VIDIOC_UNSUBSCRIBE_EVENT:		return v4l2_subdev_call(sd, core, unsubscribe_event, vfh, arg);	default:		return v4l2_subdev_call(sd, core, ioctl, cmd, arg);	}}
开发者ID:AD5GB,项目名称:kernel_n5_3.10-experimental,代码行数:23,


示例12: subdev_do_ioctl

static long subdev_do_ioctl(struct file *file, unsigned int cmd, void *arg){	struct video_device *vdev = video_devdata(file);	struct v4l2_subdev *sd = vdev_to_v4l2_subdev(vdev);	struct v4l2_fh *vfh = file->private_data;#if defined(CPTCFG_VIDEO_V4L2_SUBDEV_API)	struct v4l2_subdev_fh *subdev_fh = to_v4l2_subdev_fh(vfh);	int rval;#endif	switch (cmd) {	case VIDIOC_QUERYCTRL:		return v4l2_queryctrl(vfh->ctrl_handler, arg);	case VIDIOC_QUERY_EXT_CTRL:		return v4l2_query_ext_ctrl(vfh->ctrl_handler, arg);	case VIDIOC_QUERYMENU:		return v4l2_querymenu(vfh->ctrl_handler, arg);	case VIDIOC_G_CTRL:		return v4l2_g_ctrl(vfh->ctrl_handler, arg);	case VIDIOC_S_CTRL:		return v4l2_s_ctrl(vfh, vfh->ctrl_handler, arg);	case VIDIOC_G_EXT_CTRLS:		return v4l2_g_ext_ctrls(vfh->ctrl_handler, arg);	case VIDIOC_S_EXT_CTRLS:		return v4l2_s_ext_ctrls(vfh, vfh->ctrl_handler, arg);	case VIDIOC_TRY_EXT_CTRLS:		return v4l2_try_ext_ctrls(vfh->ctrl_handler, arg);	case VIDIOC_DQEVENT:		if (!(sd->flags & V4L2_SUBDEV_FL_HAS_EVENTS))			return -ENOIOCTLCMD;		return v4l2_event_dequeue(vfh, arg, file->f_flags & O_NONBLOCK);	case VIDIOC_SUBSCRIBE_EVENT:		return v4l2_subdev_call(sd, core, subscribe_event, vfh, arg);	case VIDIOC_UNSUBSCRIBE_EVENT:		return v4l2_subdev_call(sd, core, unsubscribe_event, vfh, arg);#ifdef CPTCFG_VIDEO_ADV_DEBUG	case VIDIOC_DBG_G_REGISTER:	{		struct v4l2_dbg_register *p = arg;		if (!capable(CAP_SYS_ADMIN))			return -EPERM;		return v4l2_subdev_call(sd, core, g_register, p);	}	case VIDIOC_DBG_S_REGISTER:	{		struct v4l2_dbg_register *p = arg;		if (!capable(CAP_SYS_ADMIN))			return -EPERM;		return v4l2_subdev_call(sd, core, s_register, p);	}#endif	case VIDIOC_LOG_STATUS: {		int ret;		pr_info("%s: =================  START STATUS  =================/n",			sd->name);		ret = v4l2_subdev_call(sd, core, log_status);		pr_info("%s: ==================  END STATUS  ==================/n",			sd->name);		return ret;	}#if defined(CPTCFG_VIDEO_V4L2_SUBDEV_API)	case VIDIOC_SUBDEV_G_FMT: {		struct v4l2_subdev_format *format = arg;		rval = check_format(sd, format);		if (rval)			return rval;		return v4l2_subdev_call(sd, pad, get_fmt, subdev_fh->pad, format);	}	case VIDIOC_SUBDEV_S_FMT: {		struct v4l2_subdev_format *format = arg;		rval = check_format(sd, format);		if (rval)			return rval;		return v4l2_subdev_call(sd, pad, set_fmt, subdev_fh->pad, format);	}	case VIDIOC_SUBDEV_G_CROP: {		struct v4l2_subdev_crop *crop = arg;//.........这里部分代码省略.........
开发者ID:OSPro,项目名称:wpj344_compatwireless,代码行数:101,


示例13: subdev_open

static int subdev_open(struct file *file){	struct video_device *vdev = video_devdata(file);	struct v4l2_subdev *sd = vdev_to_v4l2_subdev(vdev);	struct v4l2_subdev_fh *subdev_fh;#if defined(CONFIG_MEDIA_CONTROLLER)	struct media_entity *entity = NULL;#endif	int ret;	if (!sd->initialized)		return -EAGAIN;	subdev_fh = kzalloc(sizeof(*subdev_fh), GFP_KERNEL);	if (subdev_fh == NULL)		return -ENOMEM;	ret = subdev_fh_init(subdev_fh, sd);	if (ret) {		kfree(subdev_fh);		return ret;	}	ret = v4l2_fh_init(&subdev_fh->vfh, vdev);	if (ret)		goto err;	if (sd->flags & V4L2_SUBDEV_FL_HAS_EVENTS) {		ret = v4l2_event_init(&subdev_fh->vfh);		if (ret)			goto err;		ret = v4l2_event_alloc(&subdev_fh->vfh, sd->nevents);		if (ret)			goto err;	}	v4l2_fh_add(&subdev_fh->vfh);	file->private_data = &subdev_fh->vfh;#if defined(CONFIG_MEDIA_CONTROLLER)	if (sd->v4l2_dev->mdev) {		entity = media_entity_get(&sd->entity);		if (!entity) {			ret = -EBUSY;			goto err;		}	}#endif	ret = v4l2_subdev_call(sd, file, open, subdev_fh);	if (ret < 0 && ret != -ENOIOCTLCMD)		goto err;	return 0;err:#if defined(CONFIG_MEDIA_CONTROLLER)	if (entity)		media_entity_put(entity);#endif	v4l2_fh_del(&subdev_fh->vfh);	v4l2_fh_exit(&subdev_fh->vfh);	subdev_fh_free(subdev_fh);	kfree(subdev_fh);	return ret;}
开发者ID:jmw7912,项目名称:wat-0016-kernel-2.6.37,代码行数:67,


示例14: subdev_do_ioctl

static long subdev_do_ioctl(struct file *file, unsigned int cmd, void *arg){	struct video_device *vdev = video_devdata(file);	struct v4l2_subdev *sd = vdev_to_v4l2_subdev(vdev);	struct v4l2_fh *vfh = file->private_data;#if defined(CONFIG_VIDEO_V4L2_SUBDEV_API)	struct v4l2_subdev_fh *subdev_fh = to_v4l2_subdev_fh(vfh);#endif	switch (cmd) {	case VIDIOC_QUERYCTRL:		return v4l2_subdev_queryctrl(sd, arg);	case VIDIOC_QUERYMENU:		return v4l2_subdev_querymenu(sd, arg);	case VIDIOC_G_CTRL:		return v4l2_subdev_g_ctrl(sd, arg);	case VIDIOC_S_CTRL:		return v4l2_subdev_s_ctrl(sd, arg);	case VIDIOC_G_EXT_CTRLS:		return v4l2_subdev_g_ext_ctrls(sd, arg);	case VIDIOC_S_EXT_CTRLS:		return v4l2_subdev_s_ext_ctrls(sd, arg);	case VIDIOC_TRY_EXT_CTRLS:		return v4l2_subdev_try_ext_ctrls(sd, arg);	case VIDIOC_DQEVENT:		if (!(sd->flags & V4L2_SUBDEV_FL_HAS_EVENTS))			return -ENOIOCTLCMD;		return v4l2_event_dequeue(vfh, arg, file->f_flags & O_NONBLOCK);	case VIDIOC_SUBSCRIBE_EVENT:		return v4l2_subdev_call(sd, core, subscribe_event, vfh, arg);	case VIDIOC_UNSUBSCRIBE_EVENT:		return v4l2_subdev_call(sd, core, unsubscribe_event, vfh, arg);#if defined(CONFIG_VIDEO_V4L2_SUBDEV_API)	case VIDIOC_SUBDEV_G_FMT: {		struct v4l2_subdev_format *format = arg;		if (format->which != V4L2_SUBDEV_FORMAT_TRY &&		    format->which != V4L2_SUBDEV_FORMAT_ACTIVE)			return -EINVAL;		if (format->pad >= sd->entity.num_pads)			return -EINVAL;		return v4l2_subdev_call(sd, pad, get_fmt, subdev_fh, format);	}	case VIDIOC_SUBDEV_S_FMT: {		struct v4l2_subdev_format *format = arg;		if (format->which != V4L2_SUBDEV_FORMAT_TRY &&		    format->which != V4L2_SUBDEV_FORMAT_ACTIVE)			return -EINVAL;		if (format->pad >= sd->entity.num_pads)			return -EINVAL;		return v4l2_subdev_call(sd, pad, set_fmt, subdev_fh, format);	}	case VIDIOC_SUBDEV_G_CROP: {		struct v4l2_subdev_crop *crop = arg;		if (crop->which != V4L2_SUBDEV_FORMAT_TRY &&		    crop->which != V4L2_SUBDEV_FORMAT_ACTIVE)			return -EINVAL;		if (crop->pad >= sd->entity.num_pads)			return -EINVAL;		return v4l2_subdev_call(sd, pad, get_crop, subdev_fh, crop);	}	case VIDIOC_SUBDEV_S_CROP: {		struct v4l2_subdev_crop *crop = arg;		if (crop->which != V4L2_SUBDEV_FORMAT_TRY &&		    crop->which != V4L2_SUBDEV_FORMAT_ACTIVE)			return -EINVAL;		if (crop->pad >= sd->entity.num_pads)			return -EINVAL;		return v4l2_subdev_call(sd, pad, set_crop, subdev_fh, crop);	}	case VIDIOC_SUBDEV_ENUM_MBUS_CODE: {		struct v4l2_subdev_mbus_code_enum *code = arg;		if (code->pad >= sd->entity.num_pads)			return -EINVAL;//.........这里部分代码省略.........
开发者ID:jmw7912,项目名称:wat-0016-kernel-2.6.37,代码行数:101,



注:本文中的vdev_to_v4l2_subdev函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ vec函数代码示例
C++ vcross函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。