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

前端之家收集整理的这篇文章主要介绍了linux – 为x86和ARM编写平台设备驱动程序的不同之处前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我之前曾在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");

猜你在找的Linux相关文章