linux2.6驱动注册、字符设备注册和它们的释放

linux2.6驱动注册设备号

(1)如果主设备号事先知道,要用:
int register_chrdev_region( dev_t first, unsigned int count, char *name );
(2)如果主设备号为0,则要用动态分配:
int alloc_chrdev_region( dev_t *dev, unsigned int firstminor,

            unsigned int count, char *name );


linux2.6释放设备号

void unregister_chrdev_region( dev_t first, unsigned int count );


linux2.6内核字符设备驱动注册

struct cdev *my_cdev = cdev_alloc();
my_cdev->ops = &chr_fops;
void cdev_init( struct cdev *cdev, struct file_operations *fops);

int cdev_add( struct cdev *dev, dev_t num, unsigned int count);


2.6内核字符设备驱动移除

void cdev_del( struct cdev *dev );


2.6内核驱动注册完后,要用以下代码创建设备文件

devfs_mk_cdev( MKDEV(LED_MAJOR, LED_MINOR),

      S_IFCHR | S_IRUSR | S_IWUSR | S_IRGRP, DEVICE_NAME);


linux2.6内核驱动要用以下代码移除设备文件

devfs_remove(DEVICE_NAME);


可以用命令创建设备文件

mknod /dev/设备文件名 字符设备(c是字符设备,b是块设备)   主设备号 次设备号
例如:mknod /dev/testChar c  100 0
删除设备入口:
    rm /dev/testChar
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值