gpt4 book ai didi

linux - 如何获取 Linux 内核驱动程序上的 ACPI 设备列表?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:37:10 26 4
gpt4 key购买 nike

我正在开发 Linux 内核驱动程序。部分要求是获取系统上的 ACPI 设备列表并遍历。虽然以下代码适用于用户模式,但它不会在内核上编译。

#include <dirent.h>
#include <stdio.h>

int main(void)
{
DIR * d;
struct dirent * dir;
d = opendir("/sys/bus/acpi/devices");

if (d)
{
while ((dir = readdir(d)) != NULL)
{
printf("%s\n", dir->d_name);
}

closedir(d);
}

return 0;
}

内核中是否有类似的函数可供我获取 ACPI 设备列表?

最佳答案

您使用内核中未使用的 linux 用户空间头文件和函数编写的代码。 Linux 内核有自己处理设备的方式。

在内核中:ACPI 实现枚举总线(平台、SPI 和 I2C)后面的设备,创建物理设备并将它们绑定(bind)到 ACPI 命名空间中的 ACPI 句柄。阅读完整的内核文本 here .

关于linux - 如何获取 Linux 内核驱动程序上的 ACPI 设备列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47629929/

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