[xlnx:master 16/47] drivers/soc/xilinx/xlnx_vcu_clk.c:264:8: note: in expansion of macro 'readl'
From: kbuild test robot <hidden>
Date: 2020-02-17 22:34:10
Also in:
oe-kbuild-all
tree: https://github.com/Xilinx/linux-xlnx master head: a1c718babcc65c64ae7c63b14bedada2e862d54c commit: 639fb8f1219aca8e929a0d7e1c3d7e9fa84432f7 [16/47] soc: xilinx: Replace clk_{readl, writel} with {readl, writel} config: m68k-allmodconfig (attached as .config) compiler: m68k-linux-gcc (GCC) 7.5.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 639fb8f1219aca8e929a0d7e1c3d7e9fa84432f7 # save the attached .config to linux build tree GCC_VERSION=7.5.0 make.cross ARCH=m68k If you fix the issue, kindly add following tag Reported-by: kbuild test robot <redacted> All warnings (new ones prefixed by >>): drivers/soc/xilinx/xlnx_vcu_clk.c:122:16: error: field 'hw' has incomplete type struct clk_hw hw; ^~ drivers/soc/xilinx/xlnx_vcu_clk.c:245:18: warning: 'struct clk_div_table' declared inside parameter list will not be visible outside of this definition or declaration const struct clk_div_table *table, u8 width, ^~~~~~~~~~~~~ drivers/soc/xilinx/xlnx_vcu_clk.c: In function 'xvcu_divider_get_val': drivers/soc/xilinx/xlnx_vcu_clk.c:250:14: error: 'CLK_DIVIDER_ROUND_CLOSEST' undeclared (first use in this function); did you mean 'DIV_ROUND_CLOSEST'? if (flags & CLK_DIVIDER_ROUND_CLOSEST) ^~~~~~~~~~~~~~~~~~~~~~~~~ DIV_ROUND_CLOSEST drivers/soc/xilinx/xlnx_vcu_clk.c:250:14: note: each undeclared identifier is reported only once for each function it appears in drivers/soc/xilinx/xlnx_vcu_clk.c: In function 'xvcu_divider_recalc_rate': drivers/soc/xilinx/xlnx_vcu_clk.c:261:32: error: implicit declaration of function 'to_clk_divider'; did you mean 'of_clk_init'? [-Werror=implicit-function-declaration] struct clk_divider *divider = to_clk_divider(hw); ^~~~~~~~~~~~~~ of_clk_init drivers/soc/xilinx/xlnx_vcu_clk.c:261:32: warning: initialization makes pointer from integer without a cast [-Wint-conversion] In file included from include/linux/swab.h:5:0, from include/uapi/linux/byteorder/big_endian.h:13, from include/linux/byteorder/big_endian.h:5, from arch/m68k/include/uapi/asm/byteorder.h:5, from include/asm-generic/bitops/le.h:6, from arch/m68k/include/asm/bitops.h:528, from include/linux/bitops.h:19, from include/linux/kernel.h:11, from include/linux/clk.h:16, from drivers/soc/xilinx/xlnx_vcu_clk.c:11: drivers/soc/xilinx/xlnx_vcu_clk.c:264:21: error: dereferencing pointer to incomplete type 'struct clk_divider' val = readl(divider->reg) >> divider->shift; ^ include/uapi/linux/swab.h:117:32: note: in definition of macro '__swab32' (__builtin_constant_p((__u32)(x)) ? \ ^
quoted
include/linux/byteorder/generic.h:89:21: note: in expansion of macro '__le32_to_cpu'
#define le32_to_cpu __le32_to_cpu
^~~~~~~~~~~~~quoted
arch/m68k/include/asm/io_mm.h:370:26: note: in expansion of macro 'in_le32'
#define readl(addr) in_le32(addr)
^~~~~~~quoted
drivers/soc/xilinx/xlnx_vcu_clk.c:264:8: note: in expansion of macro 'readl'
val = readl(divider->reg) >> divider->shift;
^~~~~
drivers/soc/xilinx/xlnx_vcu_clk.c:267:9: error: implicit declaration of function 'divider_recalc_rate'; did you mean 'xvcu_divider_recalc_rate'? [-Werror=implicit-function-declaration]
return divider_recalc_rate(hw, parent_rate, val, divider->table,
^~~~~~~~~~~~~~~~~~~
xvcu_divider_recalc_rate
drivers/soc/xilinx/xlnx_vcu_clk.c: In function 'xvcu_divider_round_rate':
drivers/soc/xilinx/xlnx_vcu_clk.c:274:32: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
struct clk_divider *divider = to_clk_divider(hw);
^~~~~~~~~~~~~~
drivers/soc/xilinx/xlnx_vcu_clk.c:277:54: error: dereferencing pointer to incomplete type 'struct clk_divider'
bestdiv = xvcu_divider_get_val(rate, *prate, divider->table,
^~
drivers/soc/xilinx/xlnx_vcu_clk.c: In function 'xvcu_divider_set_rate':
drivers/soc/xilinx/xlnx_vcu_clk.c:288:32: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
struct clk_divider *divider = to_clk_divider(hw);
^~~~~~~~~~~~~~
drivers/soc/xilinx/xlnx_vcu_clk.c:292:57: error: dereferencing pointer to incomplete type 'struct clk_divider'
value = xvcu_divider_get_val(rate, parent_rate, divider->table,
^~
drivers/soc/xilinx/xlnx_vcu_clk.c: At top level:
drivers/soc/xilinx/xlnx_vcu_clk.c:305:21: error: variable 'xvcu_divider_ops' has initializer but incomplete type
static const struct clk_ops xvcu_divider_ops = {
^~~~~~~
drivers/soc/xilinx/xlnx_vcu_clk.c:306:3: error: 'const struct clk_ops' has no member named 'recalc_rate'
.recalc_rate = xvcu_divider_recalc_rate,
^~~~~~~~~~~
drivers/soc/xilinx/xlnx_vcu_clk.c:306:17: warning: excess elements in struct initializer
.recalc_rate = xvcu_divider_recalc_rate,
^~~~~~~~~~~~~~~~~~~~~~~~
drivers/soc/xilinx/xlnx_vcu_clk.c:306:17: note: (near initialization for 'xvcu_divider_ops')
drivers/soc/xilinx/xlnx_vcu_clk.c:307:3: error: 'const struct clk_ops' has no member named 'round_rate'
.round_rate = xvcu_divider_round_rate,
^~~~~~~~~~
drivers/soc/xilinx/xlnx_vcu_clk.c:307:16: warning: excess elements in struct initializer
.round_rate = xvcu_divider_round_rate,
^~~~~~~~~~~~~~~~~~~~~~~
drivers/soc/xilinx/xlnx_vcu_clk.c:307:16: note: (near initialization for 'xvcu_divider_ops')
drivers/soc/xilinx/xlnx_vcu_clk.c:308:3: error: 'const struct clk_ops' has no member named 'set_rate'
.set_rate = xvcu_divider_set_rate,
^~~~~~~~
drivers/soc/xilinx/xlnx_vcu_clk.c:308:14: warning: excess elements in struct initializer
.set_rate = xvcu_divider_set_rate,
^~~~~~~~~~~~~~~~~~~~~
drivers/soc/xilinx/xlnx_vcu_clk.c:308:14: note: (near initialization for 'xvcu_divider_ops')
drivers/soc/xilinx/xlnx_vcu_clk.c: In function 'xvcu_register_divider':
drivers/soc/xilinx/xlnx_vcu_clk.c:337:23: error: storage size of 'init' isn't known
struct clk_init_data init;
^~~~
drivers/soc/xilinx/xlnx_vcu_clk.c:341:23: error: dereferencing pointer to incomplete type 'struct clk_divider'
div = kzalloc(sizeof(*div), GFP_KERNEL);
^~~~
drivers/soc/xilinx/xlnx_vcu_clk.c:347:23: error: 'CLK_IS_BASIC' undeclared (first use in this function); did you mean 'CLOCKS_MASK'?
init.flags = flags | CLK_IS_BASIC;
^~~~~~~~~~~~
CLOCKS_MASK
drivers/soc/xilinx/xlnx_vcu_clk.c:361:8: error: implicit declaration of function 'clk_hw_register'; did you mean 'class_register'? [-Werror=implicit-function-declaration]
ret = clk_hw_register(dev, hw);
^~~~~~~~~~~~~~~
class_register
drivers/soc/xilinx/xlnx_vcu_clk.c:337:23: warning: unused variable 'init' [-Wunused-variable]
struct clk_init_data init;
^~~~
In file included from include/linux/err.h:5:0,
from include/linux/clk.h:15,
from drivers/soc/xilinx/xlnx_vcu_clk.c:11:
drivers/soc/xilinx/xlnx_vcu_clk.c: In function 'xvcu_pll_is_enabled':
include/linux/kernel.h:997:32: error: dereferencing pointer to incomplete type 'struct clk_hw'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^~~~~~
include/linux/compiler.h:335:18: note: in definition of macro '__compiletime_assert'
int __cond = !(condition); \
^~~~~~~~~
include/linux/compiler.h:358:2: note: in expansion of macro '_compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:45:37: note: in expansion of macro 'compiletime_assert'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^~~~~~~~~~~~~~~~~~
include/linux/kernel.h:997:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^~~~~~~~~~~~~~~~
include/linux/kernel.h:997:20: note: in expansion of macro '__same_type'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^~~~~~~~~~~
drivers/soc/xilinx/xlnx_vcu_clk.c:82:25: note: in expansion of macro 'container_of'
#define to_vcu_pll(_hw) container_of(_hw, struct vcu_pll, hw)
^~~~~~~~~~~~
drivers/soc/xilinx/xlnx_vcu_clk.c:454:24: note: in expansion of macro 'to_vcu_pll'
struct vcu_pll *pll = to_vcu_pll(hw);
^~~~~~~~~~
drivers/soc/xilinx/xlnx_vcu_clk.c: At top level:
drivers/soc/xilinx/xlnx_vcu_clk.c:649:21: error: variable 'vcu_pll_ops' has initializer but incomplete type
static const struct clk_ops vcu_pll_ops = {
^~~~~~~
drivers/soc/xilinx/xlnx_vcu_clk.c:650:3: error: 'const struct clk_ops' has no member named 'enable'
.enable = xvcu_pll_enable,
^~~~~~
drivers/soc/xilinx/xlnx_vcu_clk.c:650:12: warning: excess elements in struct initializer
.enable = xvcu_pll_enable,
--
drivers/soc//xilinx/xlnx_vcu_clk.c:122:16: error: field 'hw' has incomplete type
struct clk_hw hw;
^~
drivers/soc//xilinx/xlnx_vcu_clk.c:245:18: warning: 'struct clk_div_table' declared inside parameter list will not be visible outside of this definition or declaration
const struct clk_div_table *table, u8 width,
^~~~~~~~~~~~~
drivers/soc//xilinx/xlnx_vcu_clk.c: In function 'xvcu_divider_get_val':
drivers/soc//xilinx/xlnx_vcu_clk.c:250:14: error: 'CLK_DIVIDER_ROUND_CLOSEST' undeclared (first use in this function); did you mean 'DIV_ROUND_CLOSEST'?
if (flags & CLK_DIVIDER_ROUND_CLOSEST)
^~~~~~~~~~~~~~~~~~~~~~~~~
DIV_ROUND_CLOSEST
drivers/soc//xilinx/xlnx_vcu_clk.c:250:14: note: each undeclared identifier is reported only once for each function it appears in
drivers/soc//xilinx/xlnx_vcu_clk.c: In function 'xvcu_divider_recalc_rate':
drivers/soc//xilinx/xlnx_vcu_clk.c:261:32: error: implicit declaration of function 'to_clk_divider'; did you mean 'of_clk_init'? [-Werror=implicit-function-declaration]
struct clk_divider *divider = to_clk_divider(hw);
^~~~~~~~~~~~~~
of_clk_init
drivers/soc//xilinx/xlnx_vcu_clk.c:261:32: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
In file included from include/linux/swab.h:5:0,
from include/uapi/linux/byteorder/big_endian.h:13,
from include/linux/byteorder/big_endian.h:5,
from arch/m68k/include/uapi/asm/byteorder.h:5,
from include/asm-generic/bitops/le.h:6,
from arch/m68k/include/asm/bitops.h:528,
from include/linux/bitops.h:19,
from include/linux/kernel.h:11,
from include/linux/clk.h:16,
from drivers/soc//xilinx/xlnx_vcu_clk.c:11:
drivers/soc//xilinx/xlnx_vcu_clk.c:264:21: error: dereferencing pointer to incomplete type 'struct clk_divider'
val = readl(divider->reg) >> divider->shift;
^
include/uapi/linux/swab.h:117:32: note: in definition of macro '__swab32'
(__builtin_constant_p((__u32)(x)) ? \
^quoted
include/linux/byteorder/generic.h:89:21: note: in expansion of macro '__le32_to_cpu'
#define le32_to_cpu __le32_to_cpu
^~~~~~~~~~~~~quoted
arch/m68k/include/asm/io_mm.h:370:26: note: in expansion of macro 'in_le32'
#define readl(addr) in_le32(addr)
^~~~~~~
drivers/soc//xilinx/xlnx_vcu_clk.c:264:8: note: in expansion of macro 'readl'
val = readl(divider->reg) >> divider->shift;
^~~~~
drivers/soc//xilinx/xlnx_vcu_clk.c:267:9: error: implicit declaration of function 'divider_recalc_rate'; did you mean 'xvcu_divider_recalc_rate'? [-Werror=implicit-function-declaration]
return divider_recalc_rate(hw, parent_rate, val, divider->table,
^~~~~~~~~~~~~~~~~~~
xvcu_divider_recalc_rate
drivers/soc//xilinx/xlnx_vcu_clk.c: In function 'xvcu_divider_round_rate':
drivers/soc//xilinx/xlnx_vcu_clk.c:274:32: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
struct clk_divider *divider = to_clk_divider(hw);
^~~~~~~~~~~~~~
drivers/soc//xilinx/xlnx_vcu_clk.c:277:54: error: dereferencing pointer to incomplete type 'struct clk_divider'
bestdiv = xvcu_divider_get_val(rate, *prate, divider->table,
^~
drivers/soc//xilinx/xlnx_vcu_clk.c: In function 'xvcu_divider_set_rate':
drivers/soc//xilinx/xlnx_vcu_clk.c:288:32: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
struct clk_divider *divider = to_clk_divider(hw);
^~~~~~~~~~~~~~
drivers/soc//xilinx/xlnx_vcu_clk.c:292:57: error: dereferencing pointer to incomplete type 'struct clk_divider'
value = xvcu_divider_get_val(rate, parent_rate, divider->table,
^~
drivers/soc//xilinx/xlnx_vcu_clk.c: At top level:
drivers/soc//xilinx/xlnx_vcu_clk.c:305:21: error: variable 'xvcu_divider_ops' has initializer but incomplete type
static const struct clk_ops xvcu_divider_ops = {
^~~~~~~
drivers/soc//xilinx/xlnx_vcu_clk.c:306:3: error: 'const struct clk_ops' has no member named 'recalc_rate'
.recalc_rate = xvcu_divider_recalc_rate,
^~~~~~~~~~~
drivers/soc//xilinx/xlnx_vcu_clk.c:306:17: warning: excess elements in struct initializer
.recalc_rate = xvcu_divider_recalc_rate,
^~~~~~~~~~~~~~~~~~~~~~~~
drivers/soc//xilinx/xlnx_vcu_clk.c:306:17: note: (near initialization for 'xvcu_divider_ops')
drivers/soc//xilinx/xlnx_vcu_clk.c:307:3: error: 'const struct clk_ops' has no member named 'round_rate'
.round_rate = xvcu_divider_round_rate,
^~~~~~~~~~
drivers/soc//xilinx/xlnx_vcu_clk.c:307:16: warning: excess elements in struct initializer
.round_rate = xvcu_divider_round_rate,
^~~~~~~~~~~~~~~~~~~~~~~
drivers/soc//xilinx/xlnx_vcu_clk.c:307:16: note: (near initialization for 'xvcu_divider_ops')
drivers/soc//xilinx/xlnx_vcu_clk.c:308:3: error: 'const struct clk_ops' has no member named 'set_rate'
.set_rate = xvcu_divider_set_rate,
^~~~~~~~
drivers/soc//xilinx/xlnx_vcu_clk.c:308:14: warning: excess elements in struct initializer
.set_rate = xvcu_divider_set_rate,
^~~~~~~~~~~~~~~~~~~~~
drivers/soc//xilinx/xlnx_vcu_clk.c:308:14: note: (near initialization for 'xvcu_divider_ops')
drivers/soc//xilinx/xlnx_vcu_clk.c: In function 'xvcu_register_divider':
drivers/soc//xilinx/xlnx_vcu_clk.c:337:23: error: storage size of 'init' isn't known
struct clk_init_data init;
^~~~
drivers/soc//xilinx/xlnx_vcu_clk.c:341:23: error: dereferencing pointer to incomplete type 'struct clk_divider'
div = kzalloc(sizeof(*div), GFP_KERNEL);
^~~~
drivers/soc//xilinx/xlnx_vcu_clk.c:347:23: error: 'CLK_IS_BASIC' undeclared (first use in this function); did you mean 'CLOCKS_MASK'?
init.flags = flags | CLK_IS_BASIC;
^~~~~~~~~~~~
CLOCKS_MASK
drivers/soc//xilinx/xlnx_vcu_clk.c:361:8: error: implicit declaration of function 'clk_hw_register'; did you mean 'class_register'? [-Werror=implicit-function-declaration]
ret = clk_hw_register(dev, hw);
^~~~~~~~~~~~~~~
class_register
drivers/soc//xilinx/xlnx_vcu_clk.c:337:23: warning: unused variable 'init' [-Wunused-variable]
struct clk_init_data init;
^~~~
In file included from include/linux/err.h:5:0,
from include/linux/clk.h:15,
from drivers/soc//xilinx/xlnx_vcu_clk.c:11:
drivers/soc//xilinx/xlnx_vcu_clk.c: In function 'xvcu_pll_is_enabled':
include/linux/kernel.h:997:32: error: dereferencing pointer to incomplete type 'struct clk_hw'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^~~~~~
include/linux/compiler.h:335:18: note: in definition of macro '__compiletime_assert'
int __cond = !(condition); \
^~~~~~~~~
include/linux/compiler.h:358:2: note: in expansion of macro '_compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:45:37: note: in expansion of macro 'compiletime_assert'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^~~~~~~~~~~~~~~~~~
include/linux/kernel.h:997:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^~~~~~~~~~~~~~~~
include/linux/kernel.h:997:20: note: in expansion of macro '__same_type'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^~~~~~~~~~~
drivers/soc//xilinx/xlnx_vcu_clk.c:82:25: note: in expansion of macro 'container_of'
#define to_vcu_pll(_hw) container_of(_hw, struct vcu_pll, hw)
^~~~~~~~~~~~
drivers/soc//xilinx/xlnx_vcu_clk.c:454:24: note: in expansion of macro 'to_vcu_pll'
struct vcu_pll *pll = to_vcu_pll(hw);
^~~~~~~~~~
drivers/soc//xilinx/xlnx_vcu_clk.c: At top level:
drivers/soc//xilinx/xlnx_vcu_clk.c:649:21: error: variable 'vcu_pll_ops' has initializer but incomplete type
static const struct clk_ops vcu_pll_ops = {
^~~~~~~
drivers/soc//xilinx/xlnx_vcu_clk.c:650:3: error: 'const struct clk_ops' has no member named 'enable'
.enable = xvcu_pll_enable,
vim +/readl +264 drivers/soc/xilinx/xlnx_vcu_clk.c
257
258 static unsigned long xvcu_divider_recalc_rate(struct clk_hw *hw,
259 unsigned long parent_rate)
260 {
261 struct clk_divider *divider = to_clk_divider(hw);
262 unsigned int val;
263
> 264 val = readl(divider->reg) >> divider->shift;
265 val &= div_mask(divider->width);
266
267 return divider_recalc_rate(hw, parent_rate, val, divider->table,
268 divider->flags, divider->width);
269 }
270
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Attachments
- .config.gz [application/gzip] 46894 bytes
- (unnamed) [text/plain] 176 bytes · preview