码迷,mamicode.com
首页 > 系统相关 > 详细

Linux-设备节点文件创建函数

时间:2020-03-11 11:11:09      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:creat   his   str   设备   标准   分析   linux   调用   文件系统   

.设备节点文件创建函数
使用杂项字符设备注册设备驱动时,可以自动创建设备节点文件。
但是使用早期字符设备和标准字符设备注册设备节点文件时并不能自动创建设备节点文件。
猜测:杂项字符设备注册函数中,包含有设备节点文件注册的函数!
杂项字符设备注册函数分析:misc_register();
misc_register();
--> device_create(misc_class, misc->parent, dev, misc, "%s", misc->name);
......
分析杂项字符设备注册函数,得到设备节点文件创建函数:device_create();

device_create();
函数原型:struct device device_create(struct class class, struct device parent,
dev_t devt, void
drvdata, const char fmt, ...);
函数功能:根据提供的设备号,在文件系统/dev/目录下创建设备节点文件
形参列表:
class:类 -- 在文件系统中用来管理设备节点文件的类
parent:当前设备的父设备 -- (无:NULL)
devt:设备号 -- 创建设备节点文件所关联的设备号
drvdata:当前设备驱动的私有数据 -- 任何数据(无:NULL)
const char
fmt, ... :设备节点文件名(格式化字符串传参)
返回值:
成功:当前设备的设备结构体指针
失败:错误码
删除设备节点文件:void device_destroy(struct class *class, dev_t devt);

class_create();
函数原型:struct class class_create(struct module owner, const char name);
函数功能:在文件系统中创建一个类,用来管理一类设备节点文件。 (创建目录:/sys/class/)
形参列表:
owner:THIS_MODULE
name:类的名称
返回值:
成功:创建出来的类的结构体指针
失败:错误码
删除类:void class_destroy(struct class
cls);

只要在早期字符设备或标准字符设备的设备驱动中,在设备注册成功之后,调用class_create()和device_create()。这样早期字符设备驱动和标准字符设备驱动也将能够自动创建设备节点文件。
补充:
source insight使用技巧:
ctrl + 鼠标左键 :跳转到定义处
ctrl + / :整个工程搜索某一个字符串
ctrl + f :当前文件中搜索某一个字符串

Linux-设备节点文件创建函数

标签:creat   his   str   设备   标准   分析   linux   调用   文件系统   

原文地址:https://blog.51cto.com/13258379/2477112

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!