C Linux驱动程序写入,文件操作不兼容指针类型错误

C Linux驱动程序写入,文件操作不兼容指针类型错误,c,pointers,C,Pointers,我正在编写一个简单的linux驱动程序,该驱动程序将接受通过CLI传输的消息,并收到一个不兼容的指针类型错误 我的读取函数和文件操作结构: ssize_t driver_read(struct file *filep, char *buffer, ssize_t len, loff_t *offset) { printk(KERN_INFO "Write: %s\n", message); return 0; } struct file_operations fops = {

我正在编写一个简单的linux驱动程序,该驱动程序将接受通过CLI传输的消息,并收到一个不兼容的指针类型错误

我的读取函数和文件操作结构:

ssize_t driver_read(struct file *filep, char *buffer, ssize_t len, loff_t *offset) {
    printk(KERN_INFO "Write: %s\n", message);
    return 0;
}

struct file_operations fops = {
    write: driver_write,
    read: driver_read
};
当我试图编译代码时,出现以下错误:

error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
 read: driver_read

根据这里的另一篇文章,read函数的返回类型应该是ssize\u t,我有,但我仍然得到这个错误。

尝试将原型的参数更改为:

ssize_t len
为此:

size_t len

我认为
ssize\t len
应该是
size\t len