error: implicit declaration of function 'xxx'

这几天想在运行状态下复位USB host,代码是基于RK3066的,我的修改要在bp-auto.c中使用,RK提供的方法在USB驱动下有一个参考,调用cru_set_soft_reset的函数,头文件中有一个很明显的#include ,我直接把头文件和函数拷贝到bp-auto.c中,编译后出现如下错误:

In file included from drivers/misc/bp/bp-auto.c:33:0:
arch/arm/mach-rk30/include/mach/cru.h: In function 'cru_set_soft_reset':
arch/arm/mach-rk30/include/mach/cru.h:537:2: error: implicit declaration of function 'writel_relaxed' [-Werror=implicit-function-declaration]

在网上查找了类似的错误,有不同的解决办法,其最有效的是说出现 这类问题都是添加头文件出了问题,差了某个头文件,差了哪一个,这个具体的代码有关系。

我这里是有参考的,我直接把USB驱动下的参考代码的头文件全部拷贝到bp-auto.c去掉相同的,编译,OK,通过了。

之后再一个一个注释掉,直到又出现报错,最后找出来,还需要添加头文件#include ,其他拷贝进来的头文件都删除


你可能感兴趣的:(杂类)