Linux 内核USB 接口配置
2023-09-11 14:18:17 时间
USB 接口是自己被捆绑到配置的. 一个 USB 设备可有多个配置并且可能在它们之间转换 以便改变设备的状态. 例如, 一些允许固件被下载到它们的设备包含多个配置来实现这个. 一个配置只能在一个时间点上被使能. Linux 处理多配置 USB 设备不是太好, 但是, 幸 运的是, 它们很少.
linux 描述 USB 配置使用结构 struct usb_host_config 和整个 USB 设备使用结构 struct usb_device. USB 设备驱动通常不会需要读写这些结构的任何值, 因此它们在这 里没有详细定义. 好奇的读者可在内核源码树的文件 include/linux/usb.h 中找到对它 们的描述.
一个 USB 设备驱动通常不得不转换数据从给定的 struct usb_interface 结构到 struct usb_device 结构, USB 核心需要给很多的函数调用. 为此, 提供有函数 interface_to_usbdev. 在以后, 希望所有的当前需要一个 struct usb_device 的 USB 调用, 将被转换为采用一个 struct usb_interface 参数, 并且不会要求驱动做这个转换.
所以总结, USB 设备是非常复杂的, 并且由许多不同逻辑单元组成. 这些单元之间的关系 可简单地描述如下:
设备通常有一个或多个配置.
- 配置常常有一个或多个接口
- 接口常常有一个或多个设置.
- 接口有零或多个端点.
相关文章
- 深入linux kernel内核配置选项
- Linux中进程控制块PCB-------task_struct结构体结构
- 【资料抢鲜看】STM32MP157开发板学习资料一览(能跑Linux的stm32开发板)
- STM32MP157 Linux系统移植开发篇8:Linux内核配置方法及编译
- STM32MP157 Linux系统移植开发篇16:Linux内核音频驱动移植
- 戴文的Linux内核专题:06 内核配置(2)
- 戴文的Linux内核专题:07 配置内核 (3)
- 对linux内核创建flash上的各分区源码进行分析
- 理解Linux内核
- 配置Linux内核
- linux 调整内核优化
- Linux 内核设备属性
- Linux 内核 usb_control_msg 接口
- Linux 内核控制 urb
- Linux 内核VLB 总线
- Linux 内核VLB 总线
- Linux 内核硬件抽象
- Linux 内核存取配置空间
- Linux 内核 标准 PCI 配置寄存器
- Linux内核链表
- Linux内核接口特定的类型
- mysql—Linux系统直接进入mysql服务器,并实现一些基础操作
- 《Linux内核修炼之道》——分析内核源码如何入手?(下)
- Window&Linux遍历某一文件夹
- Linux内核参数的配置方法