免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 422 | 回复: 0
打印 上一主题 下一主题

内核初始化出错!! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-09-02 09:46 |只看该作者 |倒序浏览
我mknod了一个minor为1的ps2mouse misc设备文件,而我的驱动里面也申请一个minor为一的miscdevice啊,那么在系统里面它们应该关联起来了的。
我在console下面挂gpm: gpm -m /dev/ps2mouse -t imps2,有两种结果:一个就是cann't open the device,我的理解是不是说无法调用我的file_operation()里面的open函数?还有一个就是说ps2mouse init fail,但是我在init_module里面并没有干什么啊!而且used count也一直显示unused!!
init_module():

int init_module(void)
{
if(request_irq(MOUSE_IRQ, mouse_interrupt, 0, "ps2mouse", NULL))
{
printk(KERN_ERR "ps2mouse:request_irq failed.\n";
return -EBUSY;
}
printk("ps2mouse:request_irq success.\n";

if(request_region(MOUSE_BASE, 3, "ps2mouse" < 0)
{
printk(KERN_ERR "ps2mouse: request_region failed.\n";
return -ENODEV;
}
printk("ps2mouse:request_region success.\n";

if(misc_register(&mouse_dev) < 0)
{
printk(KERN_ERR "ps2mouse: cannot register misc device.\n";
release_region(MOUSE_BASE, 3);
return -EBUSY;
}
printk("register misc device success.\n";

return 0;
}

只是申请irq,io, 注册miscdevice,而且insmod的时候都显示申请成功了的啊:cat /proc/interrupts 显示irq12是我的ps2mouse, cat /proc/misc 显示minor为1的ps2mouse,应该都是没有问题了的,但是就是不知道为什么不能init and open!!!

我的cleanup_module()也有问题,rmmod之后,cat /proc/interrupts显示出错,再insmod时就报错,说是资源忙

cleanup_module()

void cleanup_moduel(void)
{
printk("cleanup module begin.\n";
misc_deregister(&mouse_dev);
printk("deregister miscdevice success.\n";
release_region(MOUSE_BASE, 3);
printk("release_region success.\n";
free_irq(MOUSE_IRQ, NULL);
printk("free_irq success.\n");
}
而且连第一句都没有打印!!
重启之后就能insmod了,虽然情况和前面一样!
现在我暂时不管释放资源的问题我想先让我的鼠标动起来啊
但是现在............................
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP