曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 7291|回复: 0
打印 上一主题 下一主题

[字符设备] register_chrdev & unregister_chrdev

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34395
跳转到指定楼层
楼主
发表于 2009-8-27 16:17:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
register_chrdev()  --老版本字符设备注册函数

功能:注册设备

原型
#include <linux.fs.h>
int register_chardev (unsigned int major, const char *name, struct file_operations *fops)

说明:register_chrdev 是注册设备驱动程序的内核函数。

变量:
      major 主设备号,该值为 0 时,自动运行分配。而实际值不是 0 。
      name 设备名称;
      fops file_operations 结构体变量地址(指针)。
返回值
major 值为 0 ,正常注册后,返回分配的主设备号。如果分配失败,返回 EBUSY 的负值 ( -EBUSY ) 。major 值若大于 linux/major.h (2.4内核)中声明的最大值 (#define MAX_CHRDEV      255) ,则返回EINVAL 的负值 (-EINVAL) 。指定 major 值后,若有注册的设备,返回 EBUSY 的负值 (-EBUSY)。若正常注册,则返回 0 值。


unregister_chrdev() -- 老版本字符设备注销函数

功能:注销设备

原型
#include <linux.fs.h>
int unregister_chrdev (unsigned int major, const char *name)

说明:
注销设备驱动程序的内核函数

变量:
      major   主设备号
      name  设备文件
返回值: major 值若大于 linux/major.h (2.4 内核)中声明的最大值 (#define MAX_CHRDEV      255),返回 EINVAL的负值 (-EINVAL)。指定了 major的值后,若将要注销的 major 值并不是注册的设备驱动程序,返回 EINVAL的负值 ( -EINVAL )。正常注销则返回 0值。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2025-5-7 10:13 , Processed in 0.075590 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表