platform_device和platform_driver的註冊過程,及probe函數何時調用的分析 ???
add platform_device之後,需要註意的一個地方是這裏,add是通過系統初始化裏邊調用platform_add_devices把所有放置在板級platform_device數組中的所有platform_device逐次調用platform_device_register添加到系統中去,platform_device_register中會調用platform_device_add(註意:這個同platform_add_devices有本質區別的),全部add到系統之後,便可以通過platform的操作接口來獲取platform_device中的resource資源,比如地址、中斷號等
@||| 69 platform_get_irq
@||| 70 platform_get_irq_byname
@||| 71 platform_get_resource
@||| 72 platform_get_resource_byname
add操作是在系統初始化時完成
至於platform_driver的註冊過程,及何時調用probe函數,下面引用一下kernel中的調用關系就清晰明了了:
驅動註冊的時候 platform_driver_register()->driver_register()->bus_add_driver()->driver_attach
platform_device和platform_driver的註冊過程,及probe函數何時調用的分析 ???