博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
内核ACPI函数API之acpi_get_first_physical_node
阅读量:4215 次
发布时间:2019-05-26

本文共 784 字,大约阅读时间需要 2 分钟。

acpi_get_first_physical_node 这个函数用于获取acpi_device的第一个物理节点。其源码分析如下:struct device *acpi_get_first_physical_node(struct acpi_device *adev){	struct mutex *physical_node_lock = &adev->physical_node_lock;	struct device *phys_dev;	锁保护	mutex_lock(physical_node_lock);	#acpi_device对应的所有物理节点都链接在physical_node_list 这个list上,如果这个list为null,就说明这个acpi_device 没有物理节点,则直接退出	if (list_empty(&adev->physical_node_list)) {		phys_dev = NULL;	} else {		const struct acpi_device_physical_node *node;	#取adev->physical_node_list的第一个节点返回作为第一个物理节点返回给用户		node = list_first_entry(&adev->physical_node_list,					struct acpi_device_physical_node, node);		phys_dev = node->dev;	}	mutex_unlock(physical_node_lock);	#返回第一个物理节点给用户	return phys_dev;}从这里也可以知道一个acpi_device 可以有多个物理节点,所有的物理节点都按先后顺序保存在physical_node_list 这个list中

转载地址:http://ldnmi.baihongyu.com/

你可能感兴趣的文章
Allowing Other Apps to Start Your Activity
查看>>
dev/mem
查看>>
pfn_valid 源码分析
查看>>
dev/kmem 和dev/mem的区别
查看>>
checkbox
查看>>
Sending Simple Data to Other Apps
查看>>
Receiving Simple Data from Other Apps
查看>>
中断API之__tasklet_schedule
查看>>
中断API之enable_irq
查看>>
中断API之disable_irq
查看>>
nova 中的guestfs
查看>>
nova中的localfs
查看>>
utils/rpm_build.sh
查看>>
查看模块参数
查看>>
udev重命名网口
查看>>
pgrep
查看>>
test-definitions/blob/master/toolset/util/parallel_cmds.py
查看>>
中断API之irq_activate
查看>>
中断API之tasklet_disable_nosync/tasklet_trylock/tasklet_unlock
查看>>
中断API之tasklet_init/tasklet_kill
查看>>