gpt4 book ai didi

linux - 为 x86 和 ARM 编写平台设备驱动程序的区别

转载 作者:IT王子 更新时间:2023-10-29 00:13:46 25 4
gpt4 key购买 nike

我之前从事 ARM 特定平台驱动程序的工作,最近转向基于 Intel Atom 的驱动程序。在 ARM 上,它曾经有 arch/arm/boot/dts/xx.dtsarch/arm/mach-xx/ 用于添加平台设备。我在 x86 上看不到这些文件或文件夹。当我进入 arch/x86/... 时,没有 dts 文件或平台文件。

如果我想将我的平台设备添加到英特尔凌动平台中,我该如何添加我的平台设备信息?我在哪里可以获得特定于 x86 的 dts 文件(假设即使 dts 不特定于任何体系结构)?

最佳答案

有两项新功能可让您同时拥有一个适用于 x86 和 ARM 世界的驱动程序。首先是 ACPI 中的 _DSD 方法,它允许供应商提供他们需要的任何设备属性,以使 IP 正常工作。第二部分是Linux内核中统一的设备属性接口(interface)(见drivers/base/property.c)。因此,如果您的设备需要 clock-frequency 属性,您只需在驱动程序中编写如下内容:

u32 clock_freq;
int err;

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

关于linux - 为 x86 和 ARM 编写平台设备驱动程序的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32265211/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com