platform device driver

1. 什么是平台设备驱动

首先需要区分物理总线和驱动总线。

  • 物理总线:芯片和功能外设之间传送信息的公共(专用)通信线路,包括了地址总线,数据总线,控制总线,传递的是电信号。
  • 驱动总线:Linux 为设备驱动模型虚拟出来的总线,指定,执行设备与驱动的匹配规则,自动完成设备与驱动之间的匹配,执行驱动的初始化函数。

对于常见的 I2C,USB,PCI 等物理总线,Linux 都会为其自动创建驱动总线,该设备就连接到对应的总线上。但其实,实际中很多设备并不需要物理总线,比如时钟,按键等等,为了这些简单的设备也能遵循设备驱动模型,Linux 引入了一种虚拟总线:平台总线。相应也就有了平台设备(platform_device)以及平台驱动(platform_driver),分别继承(嵌入)了 device 和 driver,可以看做是特殊的子类型。


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!