platform总线

platform驱动与传统设备驱动模型相比,platform机制设备和驱动是分开的。将设备的资源注册进内核,由内核统一管理。驱动程序使用资源的时候使用统一的接口,提高提高程序的可移植性。

编程框架:

 

平台设备分配:
struct platform_device *platform_device_alloc(char *name,int id)

平台设备注册
int platform_device_add(struct platform_device *pdev)

int platform_driver_register(struct platform_driver *)

struct platform_driver{
    int (*probe)(struct platform_device*);
    int (*remove)(struct platform_driver*);
    void (*shutdown)(struct platform_device *);
    int (*suspend)(struct platform_device *,pm_messgae_t state);
    ...
    int (*resume_early)(struct platform_device*)
    int (*resume)(struct platform_device *);
    struct device_driver driver;
}