register_chrdev & unregister_chrdev

linux开发 专栏收录该内容
15 篇文章 0 订阅
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值。
  • 0
    点赞
  • 0
    评论
  • 2
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

mz454619501

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值