Linux 平台设备驱动模型
一。平台总线概述
1. 平台总线(Platform bus)是linux2.6内核加入的一种虚拟总线,
其优势在于采用了总线的模型对设备与驱动进行了管理,这样提高了程序的可移植性
2.
二。平台设备
1. 平台设备使用structplatform_device来描述:
struct platform_device
{
const char *name; /*设备名*/
intid; /*设备编号,配合设备名使用*/
struct device dev;
u32 num_resources;
struct resource*resource; /*设备资源*/
}
struct resource
{
resource_size_t start;
resource_size_t end;
const char *name;
unsigned long flags; /*资源的类型*/
struct resource *parent, *sibling, *child;
};
2. 注册平台设备
int platform_device_register(struct platform_device*pdev)
三。平台驱动
1. 平台驱动使用structplatform_driver描述:
struct platform_driver
{
int(*probe)(struct platform_device*);
int(*remove)(struct platform_device*);
……
}
2. 平台注册使用函数
int platform_driver_register(struct platform_driver*)