加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 为x86和ARM编写平台设备驱动程序的不同之处

发布时间:2020-12-13 19:18:19 所属栏目:Linux 来源:网络整理
导读:我之前曾在ARM特定平台驱动程序上工作,最近转向基于Intel Atom.在ARM上,它曾经有arch / arm / boot / dts / xx.dts和arch / arm / mach-xx /用于添加平台设备.我没有在x86上看到这些文件或文件夹.当我进入arch / x86 / …时,没有dts文件或平台文件. 如果我想
我之前曾在ARM特定平台驱动程序上工作,最近转向基于Intel Atom.在ARM上,它曾经有arch / arm / boot / dts / xx.dts和arch / arm / mach-xx /用于添加平台设备.我没有在x86上看到这些文件或文件夹.当我进入arch / x86 / …时,没有dts文件或平台文件.

如果我想将我的平台设备添加到Intel Atom平台,我该如何添加我的平台设备信息?我在哪里可以获得特定于x86的dts文件(假设即使dts不是特定的任何架构)?

解决方法

有两个新功能允许您同时拥有一个用于x86和ARM世界的驱动程序.首先是ACPI中的_DSD方法,它允许供应商提供他们使IP正常工作所需的任何设备属性.第二部分是 Linux内核中的统一设备属性接口(查看drivers / base / property.c).因此,如果您的设备需要让我们说时钟频率属性,您只需在驱动程序中写入如下内容:
u32 clock_freq;
int err;

err = device_property_read_u32(…,&clock_freq);
if (err)
  dev_err(…,"A mandatory property not found!n");

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读