linux pci字符设备驱动程序,002_linux驱动之_register_chrdev注册字符设备

(二)register_chrdev函数原型

int register_chrdev(unsigned int major, const char *name,const struct file_operations *fops)

* register_chrdev() -为字符设备注册一个主号码。

* @major:用于动态分配的主要设备号或0

* @name:这一系列设备的名称

* @fops:与此设备相关联的文件操作

*

*如果@major == 0,这个函数将动态分配一个main并返回它的号码。

*如果@major > 0,此函数将尝试使用给定的设备保留设备,主要数字,将返回零成功。

1. 从上面函数原型中我们可知使用register_chrdev函数我们需要设备号,名字,还有相关文件操作就行了

2. 由于能力有限,看不懂register_chrdev里面的程序,故不粘贴全部代码出来,先知道怎么用

3. 使用示例:

major = register_chrdev(0, "first_drv", &first_drv_fops);

解析:第一个参数0则为系统自动分配设备号,并返回,使用major 变量接收

第二个参数设置这个系列设备的名称为first_drv

(三)unregister_chrdev函数原型

int unregister_chrdev(unsigned int major, const char *name)

1. 同第二点可知,卸载一个字符设备只需要设备号和名自就行了

2. 使用示例:

unregister_chrdev(major, "first_drv");

(四)注:

1. register_chrdev函数当然是在insmod时候应该调用了,看

001_linux驱动之_驱动的加载和卸载

2. unregister_chrdev函数当然是在rmmod时候调用了。

a4b25440ed7f83526ccccae596170c1a.png

1fa7b346f3af53bafaaad6e6aebd1996.png

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值