Linux内核 get_device()

函数:get_device()

函数get_device()用来增加输入参数代表的逻辑设备的引用计数,使引用计数加1,设备的引用计数器是dev->kobj.kref.refcount的值,即函数更改字段refcount的值。

文件包含:

#include <linux/device.h>

函数定义:

在内核源码中的位置:linux-3.19.3/drivers/base/core.c

函数定义格式:

struct device *get_device(struct device *dev)

输入参数说明:

  • 函数get_device()的输入参数是struct device结构体类型的指针,代表增加计数的逻辑设备,此结构体在酷客教程函数device_create()的分析中已有详细说明。

返回参数说明:

  • 函数get_device()的返回结果是struct device结构体类型的变量,返回的结果与传入的参数代表的是同一个变量,只是此时变量的引用计数器的值增大了1。

实例解析:

函数get_device()和函数put_device()一般配对使用,测试程序及结果分析在此没有列出,详细信息请读者参考酷客教程函数put_device()的分析文档。

函数get_device()会增加设备的引用计数,而此次增加只是想说明函数的作用,然而当设备的引用计数不是0时,设备的删除会出错,所以在增加之后应该人工减小设备的引用计数。函数put_device()用于减少设备的引用计数,为了保证安全,在函数get_device()之后调用都应使用函数put_device()进行设备的引用计数减少操作。

酷客网相关文章:

赞(1)

评论 抢沙发

评论前必须登录!