__register_chrdev_region分析(简单字符设备驱动在内核的工作原理)

__register_chrdev_region分析(简单字符设备驱动在内核的工作原理)

文章《随笔–Linux字符设备驱动开发基础》字符设备驱动注册代码分析一节中我们对旧接口register_chrdev和新接口register_chrdev_region/alloc_chrdev_region进行了对比,发现其内部都调用了__register_chrdev_region,通过分析归纳出简单字符设备驱动在内核的工作原理

下列代码位于/fs/Char_dev.c
blog003

__register_chrdev_region最后返回一个char_device_struct结构体类型指针变量(存放一个char_device_struct结构体类型的变量的地址),且其值(地址)被放入到内核维护的一个char_device_struct结构体类型指针数组的某一元素中。应用层以设备号为索引去遍历指针数组从而找到对应驱动,具体如下(即简单字符设备驱动在内核的工作原理):

blog004

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值