/globalmem.c:160:2: 警告:从不兼容的指针类型初始化 [默认启用]
/globalmem.c:160:2: 警告:(在‘globalmem_fops.unlocked_ioctl’的初始化附近) [默认启用]
这个错误网上搜索发现2.6.38版本内核 file_operation结构体已经删除了ioctl函数,取代的是:
long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long);
long (*compat_ioctl) (struct file *, unsigned int, unsigned long);
file_operation结构体在 /usr/src/linux-2.6.28.8/include/linux/fs.h定义
globalmem解决方案:
在globalmem.c中将globalmem_ioctl函数定义做如下修改即可:
static long globalmem_ioctl( struct file *filp,unsigned int cmd, unsigned long arg)
在file_operation 赋值处修改:
.unlocked_ioctl = globalmem_ioctl,