在64bits环境下编译
static struct class *new_class;
static char *set_devnode(struct device *dev, mode_t *mode)
{
return NULL;
}
new_class = class_create(THIS_MODULE, DRV_NAME);
new_class->devnode = set_devnode;
==================================
会一直出现 warning: assignment from incompatible pointer type
[-Wincompatible-pointer-types]
上网查了 devnode
struct class {
...
char *(*devnode)(struct device *dev, mode_t *mode);
...
};
我的认知这不就是把 (char * )塞给 (char *)
我也尝试过casting: new_class->devnode = (char *)set_devnode;
或者将 static char *set_devnode 宣告成 char *set_devnode
但是都有相同结果@@
可以请教这个问题是我忽略了什么吗?