作者:mobiledu2502926273 | 来源:互联网 | 2023-08-21 19:07
问题介绍:概括:将设备文件编译进内核我们一般是根据内核驱动代码的基础上来写平台设备文件platform_device,在一个单独的文件下,编译成模块需要时加载。但是每次用时都需要手动加
问题介绍:
概括:将设备文件编译进内核
我们一般是根据内核驱动代码的基础上来写平台设备文件platform_device,在一个单独的文件下,编译成模块需要时加载。但是每次用时都需要手动加载,很麻烦。如果有些设备我们想开机后相应的设备和驱动就匹配上,用户至于要使用就行了,那该怎么办呢?
解决方法:
1.在源码目录下,进入vi模式,执行 :cs find t MACHINE_START
2.查找自己对芯片型号前面第一列对应的数据,我的是“sun8i” 对应的是492,所以我选择492
3. 光标会跳转到MACHINRE_START函数中,如下图
其中sunxi_dev_init就是初始化设备函数,所以我们可以将自己的设备注册文件放到这个函数中,开机就会自动执行了,但是这个函数在哪里呢?
首先将光标放到函数上,按“ctrl+}”即可跳转,如图:
选择2,即可进入函数
4.将自己的注册函数加入此函数内部
489行即为我自己加入的设备注册函数,其中函数的实现和头文件可以写在函数的外面。(最好先写成模块编译没问题了再加载进来)