对于嵌入式设备来说,合适的电源管理,不仅可以延长电池的寿命,而且可以省电,延长设备运行时间,在提高用户体验方面有很大的好处。所以,各个soc厂家在这方面花了很多的功夫。下面,我们可以看看linux是如何处理电源管理驱动的。
1、代码目录
?
1 |
|
2、查看目录下的Kconfig文件
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
3、阅读文件,得知REGULATOR是最核心的模块macro,那我们可以找一个设备的macro看看
?
1 2 3 4 5 6 7 8 9 10 11 |
|
4、没有找到s3c,可以看一下stm32芯片的依赖属性,接着看Makefile
?
1 2 3 4 5 6 7 |
|
5、看的出来stm32只依赖于stm32-verfbuf.c文件,继续查看
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
6、确认驱动为platform驱动,寻找regulator特有的数据结构
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
7、由代码得知,regulator_ops和regulator_desc才是特有的regulator数据结构,当然也少不了注册函数
?
1 2 3 4 5 6 7 |
|
8、进一步确认of_device_id是不是真实存在,可以在arch/arm/boot/dts/stm32h743.dtsi找到对应内容
?
1 2 3 4 5 6 7 8 |
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/feixiaoxing/article/details/79874311
本文链接:https://my.lmcjl.com/post/6366.html
4 评论