Seth
Seth

Reputation: 1835

implicit declaration function however the correct header file is imported?

I am trying to compile my android kernel, but I get an error for implicit declaration of a a function.

Here is the error in full:

../drivers/interconnect/qcom/msm8916.c:310:9: error: implicit declaration of function 'qnoc_probe' [-Werror,-Wimplicit-function-declaration]
        return qnoc_probe(pdev, sizeof(msm8916_bus_clocks),
               ^
../drivers/interconnect/qcom/msm8916.c:324:12: error: use of undeclared identifier 'qnoc_remove'; did you mean 'idr_remove'?
        .remove = qnoc_remove,
                  ^~~~~~~~~~~
                  idr_remove
../include/linux/idr.h:118:7: note: 'idr_remove' declared here
void *idr_remove(struct idr *, unsigned long id);
      ^
../drivers/interconnect/qcom/msm8916.c:324:12: error: incompatible pointer types initializing 'int (*)(struct platform_device *)' with an expression of type 'void *(struct idr *, unsigned long)' [-Werror,-Wincompatible-pointer-types]
        .remove = qnoc_remove,
                  ^~~~~~~~~~~
3 errors generated.

I understand what this means. But when I go to the file in question, I find this:

#include "icc-rpm.h"

Which contains the declaration of the function:

int qnoc_probe(struct platform_device *pdev, size_t cd_size, int cd_num,
           const struct clk_bulk_data *cd);

What am I missing?

Upvotes: 0

Views: 18

Answers (0)

Related Questions