acpi_status acpi_execute_simple_method(acpi_handle handle, char *method,
u64 arg)
这个函数用于执行bios提供的函数。
其使用的例程如下:
status = acpi_execute_simple_method(device->dev->handle,
"_BCM", level);
if (ACPI_FAILURE(status)) {
ACPI_ERROR((AE_INFO, "Evaluating _BCM failed"));
return -EIO;
}
这个例子中就执行bios提供的_BCM 这个函数,并通过返回值status判断执行是否成功
其使用的源码分析如下:
acpi_status acpi_execute_simple_method(acpi_handle handle, char *method,
u64 arg)
{
union acpi_object obj = { .type = ACPI_TYPE_INTEGER };
struct acpi_object_list arg_list = { .count = 1, .pointer = &obj, };
#bios中提供函数需要的参数
obj.integer.value = arg;
#通过这个函数执行bios提供的函数
return acpi_evaluate_object(handle, method, &arg_list, NULL);
}
内核ACPI函数API之acpi_execute_simple_method
最新推荐文章于 2023-11-10 13:58:18 发布