Chinaunix首页 | 论坛 | 博客
  • 博客访问: 337553
  • 博文数量: 61
  • 博客积分: 2816
  • 博客等级: 少校
  • 技术积分: 880
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-18 23:38
文章存档

2012年(1)

2011年(19)

2010年(41)

分类: LINUX

2010-08-29 13:49:16

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

    其中,major是为设备驱动程序向系统申请的主设备号,如果为0则系统自动为此驱动程序动态地分配一个主设备号。name是设备名。fops就是调用的入口点的说明(TX2440_led_fops)。此函数返回0表示成功。返回-EINVAL表示申请的主设备号非法,一般来说是主设备号大于系统所允许的最大设备号。返回-EBUSY表示所申请的主设备号正在被其它设备驱动程序使用。如果是动态分配主设备号成功,此函数将返回所分配的主设备号。如果register_chrdev操作成功,设备名就会出现在/proc/devices文件里。

    在成功的向系统注册了设备驱动程序后(调用register_chrdev()成功后),就可以用mknod命令来把设备映射为一个特别文件,其它程序使用这个设备的时候,只要对此特别文件进行操作就行了。

阅读(2156) | 评论(1) | 转发(0) |
0

上一篇:疑惑S3C2410_GPF(0)

下一篇:linux/proc

给主人留下些什么吧!~~

chinaunix网友2010-08-30 21:31:58

Download More than 1000 free IT eBooks: http://free-ebooks.appspot.com