Linux内核API get_device

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

get_device文件包含

#include <linux/device.h>

get_device函数定义

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

函数定义格式:

struct device *get_device(struct device *dev)

get_device输入参数说明

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

get_device返回参数说明

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

get_device实例解析

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

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程