在 Linux 内核中,
platform
是指 Linux 驱动模型中的一个子系统或框架,用于管理无总线的设备(例如 SoC 内部的设备),而不是一个完整的驱动框架。
详细解释
-
Platform Device(平台设备):
platform device
通常用于描述那些没有标准总线(如 PCI、USB 等)关联的设备。这类设备通常是嵌入式系统中的一部分,直接挂载在 CPU 总线上(例如 GPIO、I2C、SPI 控制器等)。platform device
是通过platform_driver
和platform_device
的匹配来加载驱动程序的。设备的描述信息通常在设备树(Device Tree)或板级文件中定义。
-
Platform Driver(平台驱动):
platform driver
是platform device
的驱动程序,它实现了对某个设备的控制和管理。通过platform_driver
的probe
函数,当设备被注册时驱动会被加载。
-
Platform Bus(平台总线):
platform bus
是 Linux 内核中的一个虚拟总线,用于管理platform device
和platform driver
之间的关系。它是一个用于组织无总线设备的抽象概念。
platform
与 Linux 驱动框架的关系
platform
是 Linux 驱动模型中的一种驱动框架,但并不是 Linux 中唯一的驱动框架。其他驱动框架还包括 I2C 驱动框架、SPI 驱动框架、PCI 驱动框架等,每种驱动框架用于管理不同类型的设备。platform
驱动框架主要用于嵌入式设备中的无总线设备的管理。在嵌入式系统中,许多外设(如 GPIO、UART、I2C 控制器等)没有标准总线,这时platform
驱动框架就非常合适。
总结来说,platform
是 Linux 驱动框架的一部分,用于管理嵌入式系统中没有标准总线的设备。