错误:"隐含声明" for device_create_with_groups

时间:2016-04-15 01:55:49

标签: c linux-kernel linux-device-driver

我正在尝试按照以下说明为NVIDIA Jetson Tk-1构建自定义内核: https://github.com/projectara/Android-wiki/wiki/Kernel-Only-Build-Instructions-for-Jetson-reference-platform

一切顺利,直到"测试您的自定义内核"部分:

  

步骤2.制作greybus模块

     

$ cd $ JKB_ROOT / greybus

     

$ make clean

     

$ make ARCH = arm KERNELDIR = .. / kernel-out EXTRA_CFLAGS + = - fno-pic

以下是我收到错误的摘录:

  

/home/jonah/ara_kernel/greybus/loopback.c:在功能上   ' gb_loopback_probe':/home/jonah/ara_kernel/greybus/loopback.c:1207:2:   错误:隐含的函数声明' device_create_with_groups'   [-Werror = implicit-function-declaration] dev =   device_create_with_groups(& loopback_class,^   /home/jonah/ara_kernel/greybus/loopback.c:1207:6:警告:任务   在没有强制转换的情况下从整数生成指针[默认启用] dev =   device_create_with_groups(安培; loopback_class,

loopback.c文件中出现问题,该文件使用函数device_create_with_groups(...)

这是loopback.c文件: https://github.com/projectara/greybus/blob/master/loopback.c

据我所知,这个函数可以在include / linux / device.h头文件中找到,但即使我将#include <linux/device.h>添加到loopback.c的开头,我也会得到相同的隐式声明错误。

我正在使用Linux内核头文件4.5.0-040500-generic运行Ubuntu 14.04。

我是否使用了错误的内核头文件,或者该函数是否已被弃用?

我可以通过上面函数中的声明来消除警告:

struct device *device_create_with_groups(struct class *class, struct device *parent, dev_t devt, void *drvdata, const struct attribute_group **groups, const char *fmt, ...);

但是当我使用内核时,这会有什么严重的后果吗?或者链接器最终会神奇地找到该函数?

0 个答案:

没有答案