struct platform_device my_device_sd ={
.name= "my_mmc", /*设备名称,*/ .resource = my_resource_sd,
.dev ={.init_name = "dev:uart0",.platform_data = &proj_ports[0] }}
static struct platform_device __initdata *my_devices[] ={ &my_device_sd, ... } //数组
.init_machine = my_init_mach{
platform_add_devices(my_devices, ARRAY_SIZE(my_devices)); }
platform_driver_register()中添加device到内核最终还是调用的device_add函数。
Platform_device_add和device_add最主要的区别是多了一步insert_resource(p, r),即将platform资源(resource)添加进内核,由内核统一管理
.name= "my_mmc", /*设备名称,*/ .resource = my_resource_sd,
.dev ={.init_name = "dev:uart0",.platform_data = &proj_ports[0] }}
static struct platform_device __initdata *my_devices[] ={ &my_device_sd, ... } //数组
.init_machine = my_init_mach{
platform_add_devices(my_devices, ARRAY_SIZE(my_devices)); }
platform_driver_register()中添加device到内核最终还是调用的device_add函数。
Platform_device_add和device_add最主要的区别是多了一步insert_resource(p, r),即将platform资源(resource)添加进内核,由内核统一管理