未调用Linux DevFreq驱动程序中的探测
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了未调用Linux DevFreq驱动程序中的探测,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1294字,纯文字阅读大概需要2分钟。
内容图文
![未调用Linux DevFreq驱动程序中的探测](/upload/InfoBanner/zyjiaocheng/948/1fab31090675402a9148890448942247.jpg)
我正在尝试为Linux上的外围设备设置devfreq驱动程序.我对驱动程序的初始化方法如下:
static struct platform_driver zynq_csortfreq_driver = {
.probe = zynq_csortfreq_probe,
.driver = {
.name = "ZYNQ_CSORT_DEVFREQ",
.owner = THIS_MODULE,
},
};
static int __init zynq_csortfreq_init(void)
{
return platform_driver_register(&zynq_csortfreq_driver);
}
late_initcall(zynq_csortfreq_init);
但是,驱动程序中的探测函数(zynq_csortfreq_probe)似乎从未被调用.我读到为了使探测调用正常工作,驱动程序的.name值必须与设备的名称匹配-在哪里可以找到设备的名称?
解决方法:
为了调用探测功能,必须从计算机文件或通过设备树添加设备.通常使用机器文件中的platform_device_register()或platform_add_devices()完成此操作.另外,of_platform_populate()用于设备树模型,但是代码不直接使用它. platform device documentation包含您的Linux内核版本的信息.看来您的Linux使用的是device tree model.cpufree devicetree中的文档将提供一些有关使用设备树为该板激活驱动程序的有用信息.
dtsi文件需要类似以下内容的文件:
soc {
zyncfreq@addr {
compatible="xxxx"
/* Other platform data */
它将为您的机器定义设备.我建议您首先修改机器文件init_machine条目,然后使用platform_device_register()将驱动程序与设备关联.然后,您以后可以根据需要尝试使设备树机制正常工作.
如果您可以查看this closed question,并且Linux设备模型文档不够清楚,我的回答可能会很有帮助.但是,我认为您的Linux文档就足够了.
内容总结
以上是互联网集市为您收集整理的未调用Linux DevFreq驱动程序中的探测全部内容,希望文章能够帮你解决未调用Linux DevFreq驱动程序中的探测所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。