platform driver, device
[블로그 통합으로 이전해 온 자료] - 2008. 4. 30. 12:24
* platform device
platform_bus_type 이라는 가상의 플랫폼 버스 상에 새로운 디바이스를 등록하는 방법
struct platform_device xxx_device =
{
.name =
.id =
.dev = xxx_device, -> struct device
.num_resources =
.resource = -> struct resource
};
platform_device_register()
platform_device_register_simple()
platform_device_unregister()
xxx_init() / xxx_cleanup() 에서 등록
* platform driver
struct platform_driver xxx_driver =
{
.probe =
.remove =
.shutdown =
.suspend =
.resume =
.driver =
}
platform_driver_register()
platform_driver_unregister()
xxx_init() / xxx_cleanup() 에서 등록/해제
* 버스를 갖는 드라이버를 등록/해제
struct device_driver xxx_driver
{
.name =
.bus =
.probe =
.remove =
.shutdown =
.suspend =
.resume =
}
driver_registrer()
driver_unregistrer()
xxx_init() / xxx_cleanup() 에서 등록
* platform resource
struct resource
{
const char *name;
unsigned long start, end;
unsigned long flags;
struct resource *parent, *sibling, *child;
};
platform_device, platform_driver, device_driver 등의 구조체..
어떻게 써야하는지 아직도 모르겠다..