端午作业1

只要文件存在,就会有唯一对应的inode号,且相应的会存在一个struct inode结构体。在应用层通过open()打开一个设备文件,会对应产生一个inode号,通过inode号可以找到文件的inode结构体

 

 

 根据inode结构体中文件对应的驱动对象结构体指针找到驱动对象结构体

在驱动对象结构体中找到操作方法结构体指针,在驱动程序中定义一个操作方法结构体变量并初始化,实现具体的打开关闭,读写等功能

 

open函数回调到驱动中的open操作方法的路线:

open()--->sys_open()--->struct inode结构体--->struct cdev结构体--->struct file_operations结构体--->mycdev_open

注册及注销流程

static int __init mycdev_init(void)
{
//1.分配对象空间
//2.初始化对象
//3.申请设备号
//4.注册字符设备驱动对象
//5.向上提交目录
//6.向上

static void __exit mycdev_exit(void)
{
//1.销毁设备节点
//2.释放目录空间
//3.注销字符设备驱动对象
//4.释放设备号
//5.释放设备空间
}

提交设备节点信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值