ChinaUnix.net
相关文章推荐:

unregister chrdev

小弟刚学习内核编程,遇到两个问题,向各位大虾求助,代码大致如下: #define DEVICE_NAME "chardev" static int Major = -1; int init_modlue(void) { Major = register_chrdev(0, DEVICE_NAME, &fops); if(Major < 0){ printk(KERN_ALERT"Registering the character device failed \ with %d \n", Major); return Major; } ...

by It'sGifted - 内核源码 - 2012-03-04 23:09:31 阅读(12040) 回复(13)

相关讨论

关于register_chrdev函数 最近在alsa的架构,看的是一头雾水,尤其是关于设备注册的地方。仔细研究register_chrdev函数。 其在内核中的原型为: int register_chrdev(unsigned int major, const char *name, const struct file_operations *fops); 根据个人理解,该函数根据major(主设备号)申请并注册设备号,次设备号为0~255,因此理论上该驱动程序可以处理256个设备。主要...

by caicai0119 - Linux文档专区 - 2009-06-12 18:04:04 阅读(1206) 回复(0)

driver_register() 这个也是注册驱动的!和普通的块设备,字符设备驱动有什么不同!!如register_chrdev() 是不是前者可以注册驱动集(而在这个驱动集里面,所有的驱动又是互动)?后者只是单一的设备驱动。还是怎么说呢!

by shuiyu123 - 驱动开发 - 2009-02-26 17:51:23 阅读(1697) 回复(1)

RT,不知道用哪个好一点...

by heyangya - 驱动开发 - 2013-07-20 22:12:17 阅读(5981) 回复(5)

如题,需要在DB2 license没有注册的情况下做一个测试. 有谁知道怎样unregister DB2 license吗? 如果可以,以后是不是还可以重新注册成功,会不会毁坏license文件? 谢谢!

by shirley - DB2 - 2009-02-03 12:55:54 阅读(2660) 回复(1)

我现在写个模块要调用这个函数出现上面的错误. 现在的情况是: 1. 我自己的MODULE中有"GPL" 2. 在/proc/kallsyms没有这个函数. 3. lsmod没有看到ip_tables.ko模块 当我使用iptables -A INPUT后, 系统加载ip_tables.ko, 随后/proc/kallsyms也有了我需要的函数. 我insmod mymod.ko后, 也没有错误了. 我的问题是, 当我第一次insmod, 我如何通过程序自动寻找需要的module以及关联的module呢? [ 本帖最后由 Arthur_ 于 2008-12-30 1...

by Arthur_ - Linux环境编程 - 2008-12-30 13:38:21 阅读(1302) 回复(1)

最近写了个led的程序,想模仿LDD3中的scull程序中的[code] dev = container_of(inode->i_cdev, struct scull_dev, cdev); filp->private_data = dev; /* for other methods */ [/code]使用私有数据,但跟踪发现获取的dev是空指针,于是查资料了解到字符程序打开过程中要调用chrdev_open()函数得到inode->i_cdev,我再chrdev_open()函数中加了个调试信息,发现每次打开文件是没有打印此信息,是不是理解为此过程中未调用这个函数呢,...

by ruoruo1029 - 内核源码 - 2013-08-22 15:33:12 阅读(814) 回复(0)

试着写了个hello版本的字符设备小驱动 insmod之后 测试结果正常 但是 rmmod不掉了 提示是:ERROR: Removing 'chrdev': Device or resource busy 但是我查了下 chrdev 7156 0 [permanent], Live 0xee2d1000 (PU) 使用的记数是0啊 应该可以卸载掉吧 什么原因呢? 请高手指点一下

by St.小糊涂神 - Linux环境编程 - 2009-03-28 16:52:04 阅读(5235) 回复(2)

linux 2.6 字符设别 字符设备的注册过程: 1 , 注册设别号: register_chrdev_region(dev_t dev, unsigned count, const char *name) alloc_chrdev_region(dev_t dev, unsigned baseminor, unsigned count, const char *name); 这两个函数都是用来注册一个设备号的 第一个用于注册一个已经确定的设备号, 而第二个是动态申请一个设备号, 这样就不会造成设备号重复的冲突。 下面介绍一个用到的结...

by linuxargue - Linux文档专区 - 2008-11-16 21:40:18 阅读(599) 回复(0)

编译了驱动程序后进行加载 出现如下的错误,不理解该如何修正,麻烦高手帮忙看下,谢谢~ drivers/char/rtcdr.c:76: warning: initialization from incompatible pointer type drivers/char/rtcdr.c: In function `test_init': drivers/char/rtcdr.c:82: warning: passing arg 3 of `register_chrdev' discards qualifiers from pointer target type

by yyykkk1229 - 驱动开发 - 2008-08-26 17:07:43 阅读(1732) 回复(2)

今天在尝试修改用户空间与内核空间的通讯接口,准备用字符设备来代替原有的netlink,但是在实际进行的过程中却遇到了问题,具体的原因还不清楚,有待进一步的调查. 出现的问题如下: 在struct file_operations结构中,实现了read,open,release,ioctl,mmap等函数操作都可以,其中的函数操作都为空,具体内容并没有实现.但是当加入write的时候就会出现问题.编译器报错为: error: stray '\241' in program 如果有相应的writ...

by telno - Linux文档专区 - 2007-08-21 17:18:25 阅读(627) 回复(0)