platform平台驱动结构和platform驱动加载策略,linux内核2.x版本和内核4.x版本以后,platfrom平台驱动有何变化?
时间: 2024-02-19 15:01:45 浏览: 206
在 Linux 内核 2.x 版本中,platform 平台驱动结构是通过一个叫做 platform_device 结构体来表示的,这个结构体包含了设备的名称、ID、资源等信息,并且驱动程序需要通过 platform_driver 结构体来注册这个设备驱动。当设备被检测到时,内核会调用 platform_driver 中的 probe 函数来加载这个驱动程序。
而在 Linux 内核 4.x 版本以后,platform 平台驱动结构发生了一些变化。现在的 platform_device 结构体中包含了更多的设备信息和资源信息,并且驱动程序不再需要显式地注册 platform_driver,而是通过设备树来自动注册 platform_driver。当设备被检测到时,内核会根据设备树中的信息自动匹配合适的驱动程序,并调用其 probe 函数来加载驱动程序。
此外,内核 4.x 版本以后还引入了一种新的驱动加载策略,叫做 device tree overlay。这种加载策略可以让用户在运行时动态地加载和卸载设备树节点以及对应的驱动程序,从而实现更加灵活的设备管理。
阅读全文