tree:
https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-4.4
head: 165087594d83615eb48f64ee09830ccccd7f4ae4
commit: 84502795da5c65ba8b93fc627ef315863976ea50 [3/214] BACKPORT: clk: add managed
version of clk_bulk_get
config: arm-defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 7.5.0
reproduce (this is a W=1 build):
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
git remote add chrome-os
https://chromium.googlesource.com/chromiumos/third_party/kernel
git fetch --no-tags chrome-os chromeos-4.4
git checkout 84502795da5c65ba8b93fc627ef315863976ea50
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-7.5.0 make.cross ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
In file included from include/linux/cpumask.h:11:0,
from include/linux/rcupdate.h:40,
from include/linux/srcu.h:33,
from include/linux/notifier.h:15,
from include/linux/clk.h:17,
from drivers/clk/clk-devres.c:7:
include/linux/bitmap.h: In function 'bitmap_empty':
include/linux/bitmap.h:310:36: warning: comparison between signed and unsigned integer
expressions [-Wsign-compare]
return find_first_bit(src, nbits) == nbits;
^~
include/linux/bitmap.h: In function 'bitmap_full':
include/linux/bitmap.h:318:41: warning: comparison between signed and unsigned integer
expressions [-Wsign-compare]
return find_first_zero_bit(src, nbits) == nbits;
^~
In file included from drivers/clk/clk-devres.c:7:0:
include/linux/clk.h: At top level:
include/linux/clk.h:199:57: warning: 'struct clk_bulk_data' declared inside
parameter list will not be visible outside of this definition or declaration
static inline int clk_bulk_prepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~
include/linux/clk.h:223:60: warning: 'struct clk_bulk_data' declared inside
parameter list will not be visible outside of this definition or declaration
static inline void clk_bulk_unprepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~
include/linux/clk.h:268:17: warning: 'struct clk_bulk_data' declared inside
parameter list will not be visible outside of this definition or declaration
struct clk_bulk_data *clks);
^~~~~~~~~~~~~
include/linux/clk.h:283:15: warning: 'struct clk_bulk_data' declared inside
parameter list will not be visible outside of this definition or declaration
struct clk_bulk_data *clks);
^~~~~~~~~~~~~
include/linux/clk.h:327:19: warning: 'struct clk_bulk_data' declared inside
parameter list will not be visible outside of this definition or declaration
const struct clk_bulk_data *clks);
^~~~~~~~~~~~~
include/linux/clk.h:361:50: warning: 'struct clk_bulk_data' declared inside
parameter list will not be visible outside of this definition or declaration
void clk_bulk_disable(int num_clks, const struct clk_bulk_data *clks);
^~~~~~~~~~~~~
include/linux/clk.h:393:40: warning: 'struct clk_bulk_data' declared inside
parameter list will not be visible outside of this definition or declaration
void clk_bulk_put(int num_clks, struct clk_bulk_data *clks);
^~~~~~~~~~~~~
drivers/clk/clk-devres.c: In function 'devm_clk_bulk_release':
> drivers/clk/clk-devres.c:46:33: warning: passing argument 2 of
'clk_bulk_put' from incompatible pointer type [-Wincompatible-pointer-types]
clk_bulk_put(devres->num_clks, devres->clks);
^~~~~~
In file included from drivers/clk/clk-devres.c:7:0:
include/linux/clk.h:393:6: note: expected 'struct clk_bulk_data *' but argument
is of type 'struct clk_bulk_data *'
void clk_bulk_put(int num_clks, struct clk_bulk_data *clks);
^~~~~~~~~~~~
drivers/clk/clk-devres.c: At top level:
> drivers/clk/clk-devres.c:49:18: error: conflicting types for
'devm_clk_bulk_get'
int __must_check devm_clk_bulk_get(struct device
*dev, int num_clks,
^~~~~~~~~~~~~~~~~
In file included from drivers/clk/clk-devres.c:7:0:
include/linux/clk.h:282:18: note: previous declaration of 'devm_clk_bulk_get'
was here
int __must_check devm_clk_bulk_get(struct device *dev, int num_clks,
^~~~~~~~~~~~~~~~~
drivers/clk/clk-devres.c: In function 'devm_clk_bulk_get':
> drivers/clk/clk-devres.c:60:36: warning: passing argument 3 of
'clk_bulk_get' from incompatible pointer type [-Wincompatible-pointer-types]
ret = clk_bulk_get(dev, num_clks, clks);
^~~~
In file included from drivers/clk/clk-devres.c:7:0:
include/linux/clk.h:267:18: note: expected 'struct clk_bulk_data *' but
argument is of type 'struct clk_bulk_data *'
int __must_check clk_bulk_get(struct device *dev, int num_clks,
^~~~~~~~~~~~
In file included from include/linux/linkage.h:6:0,
from include/linux/kernel.h:6,
from include/linux/clk.h:16,
from drivers/clk/clk-devres.c:7:
drivers/clk/clk-devres.c: At top level:
drivers/clk/clk-devres.c:71:19: error: conflicting types for
'devm_clk_bulk_get'
EXPORT_SYMBOL_GPL(devm_clk_bulk_get);
^
include/linux/export.h:57:21: note: in definition of macro '__EXPORT_SYMBOL'
extern typeof(sym) sym; \
^~~
drivers/clk/clk-devres.c:71:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL'
EXPORT_SYMBOL_GPL(devm_clk_bulk_get);
^~~~~~~~~~~~~~~~~
In file included from drivers/clk/clk-devres.c:7:0:
include/linux/clk.h:282:18: note: previous declaration of 'devm_clk_bulk_get'
was here
int __must_check devm_clk_bulk_get(struct device *dev, int num_clks,
^~~~~~~~~~~~~~~~~
vim +/devm_clk_bulk_get +49 drivers/clk/clk-devres.c
41
42 static void devm_clk_bulk_release(struct device *dev, void *res)
43 {
44 struct clk_bulk_devres *devres = res;
45
46 clk_bulk_put(devres->num_clks, devres->clks);
47 }
48
49 int __must_check devm_clk_bulk_get(struct device *dev, int
num_clks,
50 struct clk_bulk_data *clks)
51 {
52 struct clk_bulk_devres *devres;
53 int ret;
54
55 devres = devres_alloc(devm_clk_bulk_release,
56 sizeof(*devres), GFP_KERNEL);
57 if (!devres)
58 return -ENOMEM;
59
60 ret = clk_bulk_get(dev, num_clks, clks);
61 if (!ret)
{
62 devres->clks = clks;
63 devres->num_clks = num_clks;
64 devres_add(dev, devres);
65 } else {
66 devres_free(devres);
67 }
68
69 return ret;
70 }
71 EXPORT_SYMBOL_GPL(devm_clk_bulk_get);
72
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org