搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
我家小花儿
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
基于微信小程序的垃圾分类管理系统的设计与实现_基于微信小程序的垃圾分类系统
2
集合框架Map_map(e -> {
3
mysql 模糊查询带逗号间隔字符(数组字符1,2,3)_模糊搜索 间隔
4
CentOS6.5 64位GCC从4.4.2升级到4.8.5实录_centos gcc4.2
5
纯娱乐,教你用AI花10分钟为自己定做理想女友_云服务器下载chilloutmix_niprunedfp32fi
6
Vue element-ui form 表单 前端提交和后端的接收_el formdata与后台接收
7
基于Spring Boot技术的幼儿园管理系统
8
android 9.0 startService启动Servcie的过程分析_android9.0 使用startservice
9
C# 移动鼠标获取chart控件上的任意位置的值,包括曲线上的数据点的值_c# chart 鼠标
10
MMLab
当前位置:
article
> 正文
usb_register 与 usb_regieter_dev
作者:我家小花儿 | 2024-03-16 04:02:34
赞
踩
usb_register
1、usb设备与驱动程序的匹配过程
a.先安装驱动,后插入设备
这种情况下,usb host controller完成对设备的枚举过程后,将设备的信息封装到一个usb_interface结构体中。usb core根据该结构体提供的设备信息(Vendor_id & Product_id)去遍历所有的驱动程序,找到支持该设备的驱动,并调用该驱动中的probe函数。最终将该驱动与设备关联,完成驱动程序的注册。
b.先插入设备,后安装驱动
在插入设备后,usb_host_controller已经完成对设备的枚举,usb core中已经存有描述该设备信息的结构体 usb_interface。驱动安装时,调用static int __init usb_skel_init(void)中的usb_register(skel_driver),将该驱动的相关信息(主要是id_table)提交给usb core,usb core根据提供的信息区遍历所有的设备,找到相关联的设备。再调用probe函数完成驱动的注册
2、usb_register()
usb_register(&skel_driver),这里只是将包含该驱动信息的skel_driver()结构体提交给usb core,以便usb core能够遍历该驱动程序
static struct usb_driver skel_driver = {
.name = "skeleton",
.probe = skel_probe,
.disconnect = skel_disconnect,
};
当该驱动与设备比配时,usb core能够调用skel_driver提供的probe函数
3、usb_register_dev()
当usb core成功的将设备和驱动程序关联上之后,调用驱动程序中的probe函数。probe函数再调用usb_register_dev(interface, &skel_class),获得次设备号,将usb驱动注册成字符设备驱动提供给用户程序。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/我家小花儿/article/detail/246915
推荐阅读
article
springboot项目报错
can
not
register
RM,err:
can
not
conn...
解决springboot项目报错
can
not
register
RM,err:
can
not
connect
to
s...
赞
踩
article
Android
register
ForActivityResult接口启动
activity
时报错_r...
Android
register
ForActivityResult接口启动
activity
时报错
register
Lif...
赞
踩
article
register
ForActivityResult 报错:LifecycleOwners
must
...
register
ForActivityResult 报错:LifecycleOwners
must
call
regis...
赞
踩
article
LifecycleOwner com.xx.MainActivity@
28b4e79
is
atte...
(在Activity创建的时候就要创建出来,不能等到使用的时候再创建,不然会报错LifecycleOwner com.x...
赞
踩
article
LifecycleOwner
xx
is
attempting
to
reg
is
ter
while
...
报错:
LifecycleOwner
xx
is
attempting
to
reg
is
ter
while
current
...
赞
踩
article
reg
is
ter
while
current
state
is
RESUMED. Lifecycle...
错误信息:LifecycleOwner xx
is
attempting to
reg
is
ter
while
curre...
赞
踩
article
Waffle
使用初体验_ts-
node
/
register
/
transpile
-
only
...
Waffle
是一个简单而又快速的编写和测试以太坊智能合约的js库,它比Truffle更加好用。_ts-
node
/regi...
赞
踩
相关标签
spring boot
后端
java
seata
android
android studio
ide
kotlin
以太坊
区块链