现在的位置: 首页 > 综合 > 正文

platform_device

2013年09月07日 ⁄ 综合 ⁄ 共 496字 ⁄ 字号 评论关闭

ff36中platform_device级别的设备数据结构都是在platform.c中定义的,首先用宏MACHINE_START定义系统资源,接着用platform_add_devices将平台资源注册到设备驱动模型中,平台资源由以下定义

static struct platform_device xxwdt010_device = {
	.name		= "xxwdt010",
	.id		= 0,
	.num_resources	= ARRAY_SIZE(xxwdt010_resources),
	.resource	= xxwdt010_resources,
};

其中包括平台设备的name和resource。

注册到设备模型之后等到驱动程序调用platform_driver_register 向系统注册这个驱动程序,设备驱动模型就会按照驱动的名字去找相关的平台设备,如果平台设备被找到,就会调用platform_driver的probe方法初始化这个平台设备,为其分配platform_device中所定义的resource资源,分配资源时有两种方法一种是采用静态映射__io(VA_BASE),
也可以采用ioremap动态映射。


抱歉!评论已关闭.