Linux平台设备模型Platform Device/Driver
什么是平台设备?
平台设备(platform_device)是Linux内核中用于表示那些不通过传统总线(如PCI、USB)连接的设备。
通常是片上系统(SoC)中的集成设备
通过内存映射I/O或中断线与CPU直接连接
例如:GPIO控制器、I2C控制器、定时器等
🔌平台设备模型结构
平台设备模型包含两个核心组件:
platform_device - 描述硬件设备
platform_driver - 描述设备驱动程序
通过名称匹配设备与驱动
由平台总线(platform_bus_type)管理
platform_device结构
platform_device结构体包含设备的关键信息:
name - 设备名称,用于驱动匹配
id - 设备实例ID
resource - 设备资源(内存、IRQ等)
dev - 内嵌的设备结构体
platform_data - 平台特定数据
🚀platform_driver结构
platform_driver结构体定义驱动程序的操作:
probe() - 设备探测函数
remove() - 设备移除函数
driver - 内嵌的驱动结构体
id_table - 支持的设备ID表