platform型设备在/dev目录下自动创建设备节点的分析【转】

简介: 转自:http://blog.csdn.net/rockrockwu/article/details/7357648 系统启动过程中platform设备、驱动注册完毕,为什么在/dev目录下就自动创建好设备节点了? 在/dev目录自动创建设备节点可以通过class_create(),然后再device_create()。

转自:http://blog.csdn.net/rockrockwu/article/details/7357648

系统启动过程中platform设备、驱动注册完毕,为什么在/dev目录下就自动创建好设备节点了?

在/dev目录自动创建设备节点可以通过class_create(),然后再device_create()。但是在跟踪

内核platform注册过程中可以发现,其实这里面并未调用上诉两个函数,那么platform注册后

如何在/dev目录下创建设备文件节点?

 

 

[cpp]  view plain  copy
 
  1. int device_add(struct device *dev)  
  2. {  
  3.     ... ...  
  4.   
  5.     if (MAJOR(dev->devt)) {  
  6.         error = device_create_file(dev, &devt_attr);  
  7.         if (error)  
  8.             goto ueventattrError;  
  9.   
  10.         error = device_create_sys_dev_entry(dev);  
  11.         if (error)  
  12.             goto devtattrError;  
  13.   
  14.         devtmpfs_create_node(dev);  
  15.     }  
  16.   
  17.         ... ...  
  18. }  

在device_add的过程中可以发现上诉代码,首先判断dev中是否有设备号,有的话就进行文件创建

 

最后通过函数devtmpfs_dreate_node(dev)在/dev函数中创建设备节点。

【作者】 张昺华
【新浪微博】 张昺华--sky
【twitter】 @sky2030_
【facebook】 张昺华 zhangbinghua
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
目录
相关文章
|
1月前
|
Shell Linux C语言
【Shell 命令集合 磁盘管理 】Linux losetup命令使用教程 将一个文件或设备与一个回环设备(loop device)进行关联
【Shell 命令集合 磁盘管理 】Linux losetup命令使用教程 将一个文件或设备与一个回环设备(loop device)进行关联
43 0
|
1月前
|
安全 Unix Linux
探秘Linux特殊设备文件:(/dev/null,/dev/zero,/dev/random,/dev/urandom等)
探秘Linux特殊设备文件:(/dev/null,/dev/zero,/dev/random,/dev/urandom等)
99 1
|
2月前
|
Ubuntu Linux 开发工具
Linux下的IMX6ULL——开发板的第一个APP和驱动实验(三)
Linux下的IMX6ULL——开发板的第一个APP和驱动实验(三)
69 0
Linux下的IMX6ULL——开发板的第一个APP和驱动实验(三)
|
3月前
2023驱动保护学习 -- 创建驱动设备及符号链接并实现删除操作
2023驱动保护学习 -- 创建驱动设备及符号链接并实现删除操作
18 0
|
7月前
|
Linux API 项目管理
Linux reset子系统及驱动实例
Linux reset子系统及驱动实例
|
9月前
|
传感器 算法 Linux
media设备节点初始化与Video4Linux初始化
media设备节点初始化与Video4Linux初始化
117 0
RK3399平台开发系列讲解(USB转串口)5.49、/dev/ttyUSB 修改串口名
RK3399平台开发系列讲解(USB转串口)5.49、/dev/ttyUSB 修改串口名
141 0
 RK3399平台开发系列讲解(USB转串口)5.49、/dev/ttyUSB 修改串口名
Linux command lvextend 扩展逻辑卷设备
Linux command lvextend 扩展逻辑卷设备
Linux command lvextend 扩展逻辑卷设备
|
Linux
Linux系统CentOS8 检测USB、创建挂载点、挂载、存取USB数据、取消挂载
usb 设备挂载与取消挂载; 永久挂载点实现
614 0