v4l2 probe时各个device的操作顺序

news/2025/11/12 16:08:49/文章来源:https://www.cnblogs.com/moon-sun-blog/p/19214461

dev_set_drvdata(&pdev->dev, myisp)

“在现代嵌入式 Linux(尤其是 ARM)中,不再硬编码 platform_device,而是通过 设备树(Device Tree) 描述硬件”。
myisp就是驱动模块对应的自定义设备;
这里把myisp结构体赋值给platform_device->dev->driver_data。
 

通过devm_xxx从设备树获取参数

获取:寄存器地址、irq、clock等;
 

media_device_init(struct media_device *mdev)

media_device管理着链路信息,要先对其初始化,给后面的注册v4l2_devcie使用;
因为media_device描述了整个链路信息,位于高级的层级,所以注册一定要放在最后
 

v4l2_device

v4l2_device_register(struct device *dev, struct v4l2_device *v4l2_dev)

 

v4l2_subdev

v4l2_subdev_init(struct v4l2_subdev *sd, const struct v4l2_subdev_ops *ops);// 初始化与该v4l2_subdev连接的pad
// v4l2_subdev与多少个video_device相连,会有多少个pad
media_entity_pads_init(struct media_entity *entity, u16 num_pads, struct media_pad *pads);v4l2_device_register_subdev(struct *v4l2_device, struct v4l2_subdev *sd);

 

video_device

// 初始化video的video buffer queue
vb2_queue_init(queue);// 初始化与该video_device连接的pad
// video_devcie一般只有一个pad:输出设备有一个source pad,捕获设备有一个sink pad
media_entity_pads_init(entity, 1, &pad)video_register_device(struct video_device *vdev, VFL_TYPE_VIDEO);// 这里把video_device抽象为node,所以data是node
video_set_drvdata(vdev, node);// 创建pad之间的link关系
// 也可以在v4l2_subdev中创建,看谁方便获取所有的pad了
media_create_pad_link();

 

media_device_register(mdev)

media_device描述了整个链路信息,位于高级的层级,所以注册一定要放在最后
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/963536.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

国泰君安基于隐语SecretFlow生产场景探索实践

业务背景及痛点 作为一家综合性的证券金融集团,国泰海通证券在探索数据协同与隐私保护方面始终走在行业前列。我们技术团队内部在集团推动部署 SecretFlow(以下简称“隐语”)平台,主要出于两个核心动因:一方面是加…

张家口西林瓶灌装线带废料回收报价

在制药与生物制剂生产领域,西林瓶灌装线的配置选择日益趋向精细化与场景适配化。尤其在张家口地区,随着本地医药制造企业对绿色生产、成本控制及合规性要求的不断提升,具备废料回收功能的西林瓶灌装设备逐渐成为采购…

基于DNA编码与混沌系统的图像加密

一、DNA编码与混沌系统结合原理 DNA编码技术通过将数字信息映射为生物分子序列,结合混沌系统的伪随机性,形成双重加密机制。其核心优势在于:超高密度存储:1克DNA可存储215PB数据,远超传统存储介质 并行运算能力:…

windows键盘显示软件

屏幕按键显示软件 github - carnac b站的一些推荐: 开源免费软件分享0013——Carnac WINDOWS五款屏幕按键显示软件推荐 【软件工具】KeyCastOW-史上最好用的屏幕显示输入信息工具

鲜花:m 群 bot 随机一言摘抄

上帝是公平的,虽然给了你低颜值,但是给了你高眼光啊遇到你之前,我的世界是黑白的,遇见你之后 哇靠 全黑了不是你长大变傻了,而是傻子长大了觉得只要认真努力就会胜利,这世上哪有这么天真的事哭也不会改变什么,这…

Canvas简单整理 - sk

1. Canvas概述 1.1 Canvas是什么 Canvas又称为“画布”,是HTML5的核心技术之一,通常说的Canvas技术,指的就是使用Canvas元素结合JavaScript来绘制各种图形的技术。 1.2 Canvas的用途 1)绘制图形;2)绘制图表;3)…

MATLAB小波分析工具包进行时间序列的小波功率谱分析

MATLAB的小波分析工具包(Wavelet Toolbox)提供了强大的功能,用于分析和处理信号与图像。使用MATLAB小波分析工具包进行时间序列的小波功率谱分析的详细步骤。 1. 加载数据 首先,加载需要分析的时间序列数据。假设数…

CPU softlockup(软锁定)

CPU softlockup(软锁定)是 Linux 内核 watchdog 机制报出的“某颗 vCPU 在内核态连续 20 s(默认)没有发生任务切换”的异常。本质是:内核线程/中断上下文长时间关抢占(或死循环),导致该核上的 watchdog 线程得…

再次出山!!

如今,时隔多年,又准备开始重新写博客了!!! 今天先看看效果

营口西林瓶灌装机资质齐全,含医疗器械生产许可与行情报价

近年来,西林瓶灌装机市场受原材料价格波动、核心零部件进口成本变化及区域供需关系影响,整体呈现温和上涨趋势。据行业数据显示,2024年第四季度至2025年第三季度期间,西林瓶灌装设备的终端售价平均涨幅约为6.8%。其…

Tita 项目管理软件:驱动互联网企业高效运营与战略落地新引擎

在当今快节奏的互联网行业中,许多企业虽拥有创新产品与业务蓝图,却常因内部管理机制滞后而陷入发展瓶颈。尤其是中型互联网公司,在业务覆盖软件开发、线上营销与平台运营等多板块时,传统的管理模式往往导致目标断层…

完整教程:Java 反射机制核心类详解:Class、Constructor、Method、Field

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Problems

Done QOJ #970 Best Subsequence $ _{6.3}$定义 \(f(\{a\},k)\) 为最小的 x 使得存在一个 \(a\) 的长度为 \(k\) 的子序列首尾相接以后每两个相邻向之和均 \(\le x\)。 给定数组 \(a\) 和 \(q\) 组询问,每组询问给定 …

vue网站禁止右键以及禁止打开控制台,检测到控制台停止运行

App.vue参考:<template> <div id="app" @contextmenu.prevent="handleContextMenu"> <router-view /> </div></template> <script> export default {…

2025年卡盘式自定心坡口机优质厂家权威推荐榜单:切管机/钢板坡口机/倒角机源头厂家精选

在管道工程与金属加工领域,一台高性能的卡盘式自定心坡口机已成为提升焊接质量与施工效率的关键装备。 本文将基于技术实力、生产能力、产品质量、市场表现及服务体系等多维度核心指标,为您呈现2025年卡盘式自定心坡…

AI元人文:从被动执行到主动探索——基于三值张力的文明演进新范式

AI元人文:从被动执行到主动探索——基于三值张力的文明演进新范式 岐金兰 探索“Ai元人文构想”理论体系 2025年11月12日 摘要: AI元人文理论实现了从"价值对齐"到"价值权衡"的范式革命,通过价…

Java 获取 Excel 中工作表的名称 - 指南

Java 获取 Excel 中工作表的名称 - 指南2025-11-12 15:50 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block …

2025年现代风格卫生间隔断生产厂家权威推荐榜单:易清洁卫生间隔断/欧式卫生间隔断/养老院卫生间隔断源头厂家精选

在公共卫生空间设计日益注重功能与美观并重的今天,现代风格的卫生间隔断已成为商业空间、办公场所和公共建筑的重要配置。 根据建筑装饰行业数据显示,2024年中国公共卫生间隔断市场规模达到87亿元,年增长率稳定在12…

locust-WebSocket压测

连接WS的库有的是支持异步IO的,项目中我们推荐这样的库,但是压测时还是要选择同步的库。 异步 安装 pip install websockets代码示例 import asyncio import websockets import json import randomasync def mytest(…

11.11 CSP-S 模拟赛 T3. square

思路 太猎奇 考虑我们应该会 \(\mathcal{O} (\textrm{障碍物数}^2)\) 的做一次问题 但是这类问题其实还有一种 \(\mathcal{O} (\textrm{面积})\) 的做法 具体的, 令 \(f_{i, j}\) 表示 \((i, j)\) 这个点作为右下角时的…