Messages in this thread | | | Subject | Re: Compilation Error: variable has intializer but incomplete type | From | Sean Neakums <> | Date | Tue, 01 Apr 2003 10:24:53 +0100 |
| |
commence Marcus Alanen quotation:
>>i am trying to learn and write device driver on linux kernel 2.4 redhat >> distribution >> >>iam getting compilation errors for driver code. >>struct file_operations my_ops ={NULL,my_read,my_write,NULL,NULL,NULL >>NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, >>NULL }; >> >>ERROR -> my_ops has intializer but incomplete type > > This is not a good way to do it. See e.g. fs/pipe.c#read_fifo_fops > for an easier approach: > > struct file_operations read_fifo_fops = { > llseek: no_llseek, > read: pipe_read, > write: bad_pipe_w, > poll: fifo_poll, > ioctl: pipe_ioctl, > open: pipe_read_open, > release: pipe_read_release, > };
Aside from this, the main issue is the "has intializer but incomplete type" error, which indicates that the definition of struct file_operations has not been seen by the compiler. This seems to be defined (in 2.4.20, at least) by include/linux/fs.h, so Raman will need to #include that file for the initialization to work.
-- Sean Neakums - <sneakums@zork.net> - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |