Chinaunix首页 | 论坛 | 博客
  • 博客访问: 804071
  • 博文数量: 106
  • 博客积分: 1250
  • 博客等级: 少尉
  • 技术积分: 1349
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-09 09:38
文章分类

全部博文(106)

文章存档

2014年(1)

2013年(13)

2012年(92)

分类: LINUX

2013-03-14 16:26:30

register_chrdev()  --老版本字符设备注册函数

功能:注册设备

原型
#include
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
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值。
阅读(6319) | 评论(1) | 转发(1) |
给主人留下些什么吧!~~

devwang2015-03-21 10:50:01

学习了