社区
驱动开发/核心开发
帖子详情
USB驱动:hci_usb.c中为什么没有如骨架程序中的file_operations和usb_class_driver结构?
tianwaixing2007
2009-04-03 09:38:59
最近在学习USB 蓝牙适配器的驱动开发,通过比较骨架程序driver/usb/usb-skeleton.c和driver/bluetooth下面的hci_usb.c发现,hci_usb.c的实现中仅用了一个usb_driver结构,而没有file_operations和usb_class_driver结构,也没有设定minor这样的次设备号,为什么呢?
...全文
87
回复
打赏
收藏
USB驱动:hci_usb.c中为什么没有如骨架程序中的file_operations和usb_class_driver结构?
最近在学习USB 蓝牙适配器的驱动开发,通过比较骨架程序driver/usb/usb-skeleton.c和driver/bluetooth下面的hci_usb.c发现,hci_usb.c的实现中仅用了一个usb_driver结构,而没有file_operations和usb_class_driver结构,也没有设定minor这样的次设备号,为什么呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
usb
编程从入门到精通
1、前言,
程序
效果演示 2、
usb
协议及概念 3、免驱操作
usb
设备实战-自己写一个
usb
串口
驱动
,该
程序
可以跨平台运行,在安卓运行也不用root
usb
骨架
程序
学习
Linux 内核源代码
中
的
driver
/
usb
/
usb
-skeleton.c 文件为我们提供了一个最基础的
USB
驱动
程序
,即
USB
骨架
程序
,可被看做一个最简单的
USB
设备
驱动
实例。尽管具体
USB
设备
驱动
千差万别,但其
骨架
则万变不离其宗。首先看看
USB
骨架
程序
的
usb
_
driver
结构
体定义,如代码清单1.1所示。 static struct
usb
_
driver
skel_driv...
struct
usb
_
class
_
driver
struct
usb
_
class
_
driver
{ char *name; char *(*devnode)(struct device *dev, mode_t *mode); const struct
file
_
operation
s *fops; int minor_base; };
003_linux
驱动
之_
file
_
operation
s函数
(一)解析
file
_
operation
s函数 解析002_linux
驱动
之_register_chrdev注册字符设备
中
的问题 (二)
file
_
operation
s
结构
原型 使用举例 (三)从上面的原型可以看出
file
_
operation
s函数有很多类型,下面将解析一部分 以.open为例: 当应用
程序
使用open函数打开这个设备
驱动
时候,.open
中
的first_drv_o...
Linux
驱动
之
USB
设备
驱动
不管是
USB
设备还是
USB
接口,都会被注册到同一个bus上,也就是
usb
_bus_type,其之间的区别会在match函数
中
区分,之后再去绑定不同的
driver
。当一个
USB
设备被插入的时候,
USB
设备
驱动
,也就是
usb
_generic_
driver
会跟
USB
设备交互,得到其所有的各种描述符,并为每个接口都定义成为一个device,之后再加载到
usb
_bus上,让其去匹配其对应的接口
驱动
程序
。
驱动开发/核心开发
21,584
社区成员
21,709
社区内容
发帖
与我相关
我的任务
驱动开发/核心开发
硬件/嵌入开发 驱动开发/核心开发
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章