一、使用到的设备结构体
注册设备使用结构体platform_device,该结构体在头文件“viminclude/linux/platform_device.h”中。头文件中也有注册设备和卸载设备的函数。
二、设备注册操作
将设备结构体(platform_device)放到平台文件(arch/arm/mach-exynos/mach-itop4412.c)中,会自动注册设备,不用去调用注册设备的函数。
我们仿照LED写了一个HELLO。如下图修改这两个位置:
再结合我们前面在Kconfig文件中添加编译HELLO设备的宏定义。这样就完成一个设备的注册。最后将内核编译一下。将新的镜像zImage下载到开发板上。启动开发板,输入: ls /sys/devices/platform/,就可以查看到新添加的设备。
最后,留下一个思考,如果我们一个开发板就写一种平台文件,那么在arch/arm/这个目录下,是不是会产生无数各种描述平台设备的文件。那么这样子linux就会变得原来越臃肿。那么有没有什么好的办法解决这个问题呢?