编写设备驱动程序

驱动程序代码布局

设备驱动程序代码通常分为以下文件:

头文件

头文件提供以下定义:

某些头文件定义(如状态结构)可能只有设备驱动程序才需要。这些信息应该放在设备驱动程序本身所包含的专用头文件中。

应用程序可能需要的任何信息(如 I/O 控制命令)均应放在公共头文件中。这些文件包含在驱动程序和任何需要设备相关信息的应用程序中。

虽然专用文件和公共文件并没有命名标准,但一种约定是将专用头文件命名为 xximpl.h,将公共头文件命名为 xxio.h

源文件

设备驱动程序的 C 源文件 (.c 文件)具有以下职责:

配置文件

一般来说,驱动程序的配置文件定义驱动程序需要的所有属性。驱动程序配置文件中的项指定了驱动程序可以探测其存在情况的可能设备实例。可以在驱动程序的配置文件中设置驱动程序的全局属性。有关更多信息,请参见 driver.conf(4) 手册页。

驱动程序配置文件对于非自标识设备是必需的。

驱动程序配置文件对于自标识设备 (self-identifying device, SID) 是可选的。对于自标识设备,配置文件可用于向 SID 节点中添加属性。

以下属性是在驱动程序配置文件中设置的属性示例: