总没有找到问题在哪里,今天能上网后在Google中找了一下,问题解决。
一、编译错误
错误:隐式声明函数‘get_usr’
错误:隐式声明函数‘put_usr’
而我是put_user和get_user搞成了,put_usr和get_usr,是按书的上例子来的,也不记得谁对谁错了。
二、警告
警告:ISO C90 不允许混合使用声明和代码
为了调试方便,我在最函数最前加了一句打印输出,结果就出现了上面的错误。一直觉得实在怪得很,看不出什么问题。今天偶然将这段代码改了一下就OK了。
xxx_read(struct ....)
{
printk("device file-read operation!\n");/*加了一输出语句*/
unsigned char status;
int loop;
for (loop = 0;loop
status = inb(MINOR_READ_ADDR);
put_user(status,(char *) &buf[loop]);
}
return count;
}
改为下面的就好了!
xxx_read(struct ....)
{
unsigned char status;
int loop;
printk("device file-read operation!\n");/*将输出语句放在变量定义后面*/
for (loop = 0;loop status = inb(MINOR_READ_ADDR);
put_user(status,(char *) &buf[loop]);
}
return count;
}
阅读(1281) | 评论(0) | 转发(0) |