在字符驱动中,这行代码报了警告信息:
warning: initialization from incompatible pointer type
static ssize_t s3c2440_key_read(struct file *filp, char __user *buf, ssize_t count, loff_t *ppos);
经分析是因为函数声明与函数的原型不符,将其中的
ssize_t count
改成
size_t count
就可以了。
同样,
static void s3c2440_key_release(struct inode *inode, struct file *filp);
将其中的
void
改成
int
就可以了。
函数原型以及file_operations成员分析参考http://blog.sina.com.cn/s/blog_56332e1d0100crc8.html