[chrome-os:chromeos-4.4 202/215] drivers/media/platform/rockchip/rkisp1/rkisp1-common.h:360:23: error: array type has incomplete element type 'struct clk_bulk_data'
by kernel test robot
tree: https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-4.4
head: d78843bdba14be5be451753e78a3753413fda6a2
commit: 10f444186a4c895d03e4884ec529067daee430b3 [202/215] BACKPORT: media: rockchip: rkisp1: destage Rockchip ISP1 driver
config: mips-allyesconfig (attached as .config)
compiler: mips-linux-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 10f444186a4c895d03e4884ec529067daee430b3
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-7.5.0 make.cross ARCH=mips
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 drivers/media/platform/rockchip/rkisp1/rkisp1-common.h:14:0,
from drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c:21:
include/linux/clk.h:199:70: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
static inline int __must_check 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:528: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:539: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:546:54: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
static inline void clk_bulk_put(int num_clks, struct clk_bulk_data *clks) {}
^~~~~~~~~~~~~
include/linux/clk.h:555:69: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
static inline int __must_check clk_bulk_enable(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~
include/linux/clk.h:564:16: 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:624:13: 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: In function 'clk_bulk_prepare_enable':
include/linux/clk.h:628:35: warning: passing argument 2 of 'clk_bulk_prepare' from incompatible pointer type [-Wincompatible-pointer-types]
ret = clk_bulk_prepare(num_clks, clks);
^~~~
include/linux/clk.h:199:32: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline int __must_check clk_bulk_prepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~~
include/linux/clk.h:631:34: warning: passing argument 2 of 'clk_bulk_enable' from incompatible pointer type [-Wincompatible-pointer-types]
ret = clk_bulk_enable(num_clks, clks);
^~~~
include/linux/clk.h:555:32: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline int __must_check clk_bulk_enable(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~
include/linux/clk.h:633:32: warning: passing argument 2 of 'clk_bulk_unprepare' from incompatible pointer type [-Wincompatible-pointer-types]
clk_bulk_unprepare(num_clks, clks);
^~~~
include/linux/clk.h:223:20: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline void clk_bulk_unprepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~~~~
include/linux/clk.h: At top level:
include/linux/clk.h:639:19: 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: In function 'clk_bulk_disable_unprepare':
include/linux/clk.h:641:29: warning: passing argument 2 of 'clk_bulk_disable' from incompatible pointer type [-Wincompatible-pointer-types]
clk_bulk_disable(num_clks, clks);
^~~~
include/linux/clk.h:563:20: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline void clk_bulk_disable(int num_clks,
^~~~~~~~~~~~~~~~
include/linux/clk.h:642:31: warning: passing argument 2 of 'clk_bulk_unprepare' from incompatible pointer type [-Wincompatible-pointer-types]
clk_bulk_unprepare(num_clks, clks);
^~~~
include/linux/clk.h:223:20: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline void clk_bulk_unprepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~~~~
In file included from drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c:21:0:
drivers/media/platform/rockchip/rkisp1/rkisp1-common.h: At top level:
>> drivers/media/platform/rockchip/rkisp1/rkisp1-common.h:360:23: error: array type has incomplete element type 'struct clk_bulk_data'
struct clk_bulk_data clks[RKISP1_MAX_BUS_CLK];
^~~~
drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c: In function 'rkisp1_cap_enum_mbus_codes':
>> drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c:361:11: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (n++ == code->index) {
^~
drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c: In function 'rkisp1_find_fmt_cfg':
drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c:1263:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (i = 0; i < cap->config->fmt_size; i++) {
^
drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c: In function 'rkisp1_enum_fmt_vid_cap_mplane':
drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c:1337:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (f->index >= cap->config->fmt_size)
^~
drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c:1345:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (i = 0; i < cap->config->fmt_size; i++) {
^
In file included from arch/mips/include/asm/atomic.h:22:0,
from include/linux/atomic.h:4,
from include/linux/debug_locks.h:5,
from include/linux/lockdep.h:23,
from include/linux/spinlock_types.h:18,
from include/linux/mutex.h:15,
from include/linux/kernfs.h:13,
from include/linux/sysfs.h:15,
from include/linux/kobject.h:21,
from include/linux/device.h:17,
from include/linux/pm_runtime.h:12,
from drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c:12:
arch/mips/include/asm/atomic.h: In function '__atomic_add_unless':
arch/mips/include/asm/cmpxchg.h:212:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
if (sizeof(long) == 8) { \
^
arch/mips/include/asm/cmpxchg.h:227:33: note: in expansion of macro '__cmpxchg'
#define cmpxchg(ptr, old, new) __cmpxchg(ptr, old, new, smp_mb__before_llsc(), smp_llsc_mb())
^~~~~~~~~
arch/mips/include/asm/atomic.h:215:34: note: in expansion of macro 'cmpxchg'
#define atomic_cmpxchg(v, o, n) (cmpxchg(&((v)->counter), (o), (n)))
^~~~~~~
arch/mips/include/asm/atomic.h:234:9: note: in expansion of macro 'atomic_cmpxchg'
old = atomic_cmpxchg((v), c, c + (a));
^~~~~~~~~~~~~~
arch/mips/include/asm/cmpxchg.h:217:2: note: here
default: \
^
arch/mips/include/asm/cmpxchg.h:227:33: note: in expansion of macro '__cmpxchg'
#define cmpxchg(ptr, old, new) __cmpxchg(ptr, old, new, smp_mb__before_llsc(), smp_llsc_mb())
^~~~~~~~~
arch/mips/include/asm/atomic.h:215:34: note: in expansion of macro 'cmpxchg'
#define atomic_cmpxchg(v, o, n) (cmpxchg(&((v)->counter), (o), (n)))
^~~~~~~
arch/mips/include/asm/atomic.h:234:9: note: in expansion of macro 'atomic_cmpxchg'
old = atomic_cmpxchg((v), c, c + (a));
^~~~~~~~~~~~~~
--
In file included from drivers/media/platform/rockchip/rkisp1/rkisp1-common.c:8:0:
include/media/v4l2-rect.h: In function 'v4l2_rect_overlap':
include/media/v4l2-rect.h:185:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (r1->left >= r2->left + r2->width ||
^~
include/media/v4l2-rect.h:186:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
r2->left >= r1->left + r1->width)
^~
include/media/v4l2-rect.h:193:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (r1->top >= r2->top + r2->height ||
^~
include/media/v4l2-rect.h:194:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
r2->top >= r1->top + r1->height)
^~
In file included from drivers/media/platform/rockchip/rkisp1/rkisp1-common.h:14:0,
from drivers/media/platform/rockchip/rkisp1/rkisp1-common.c:10:
include/linux/clk.h: At top level:
include/linux/clk.h:199:70: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
static inline int __must_check 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:528: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:539: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:546:54: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
static inline void clk_bulk_put(int num_clks, struct clk_bulk_data *clks) {}
^~~~~~~~~~~~~
include/linux/clk.h:555:69: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
static inline int __must_check clk_bulk_enable(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~
include/linux/clk.h:564:16: 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:624:13: 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: In function 'clk_bulk_prepare_enable':
include/linux/clk.h:628:35: warning: passing argument 2 of 'clk_bulk_prepare' from incompatible pointer type [-Wincompatible-pointer-types]
ret = clk_bulk_prepare(num_clks, clks);
^~~~
include/linux/clk.h:199:32: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline int __must_check clk_bulk_prepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~~
include/linux/clk.h:631:34: warning: passing argument 2 of 'clk_bulk_enable' from incompatible pointer type [-Wincompatible-pointer-types]
ret = clk_bulk_enable(num_clks, clks);
^~~~
include/linux/clk.h:555:32: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline int __must_check clk_bulk_enable(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~
include/linux/clk.h:633:32: warning: passing argument 2 of 'clk_bulk_unprepare' from incompatible pointer type [-Wincompatible-pointer-types]
clk_bulk_unprepare(num_clks, clks);
^~~~
include/linux/clk.h:223:20: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline void clk_bulk_unprepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~~~~
include/linux/clk.h: At top level:
include/linux/clk.h:639:19: 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: In function 'clk_bulk_disable_unprepare':
include/linux/clk.h:641:29: warning: passing argument 2 of 'clk_bulk_disable' from incompatible pointer type [-Wincompatible-pointer-types]
clk_bulk_disable(num_clks, clks);
^~~~
include/linux/clk.h:563:20: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline void clk_bulk_disable(int num_clks,
^~~~~~~~~~~~~~~~
include/linux/clk.h:642:31: warning: passing argument 2 of 'clk_bulk_unprepare' from incompatible pointer type [-Wincompatible-pointer-types]
clk_bulk_unprepare(num_clks, clks);
^~~~
include/linux/clk.h:223:20: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline void clk_bulk_unprepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~~~~
In file included from drivers/media/platform/rockchip/rkisp1/rkisp1-common.c:10:0:
drivers/media/platform/rockchip/rkisp1/rkisp1-common.h: At top level:
>> drivers/media/platform/rockchip/rkisp1/rkisp1-common.h:360:23: error: array type has incomplete element type 'struct clk_bulk_data'
struct clk_bulk_data clks[RKISP1_MAX_BUS_CLK];
^~~~
--
In file included from drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c:11:0:
include/linux/clk.h:199:70: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
static inline int __must_check 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:528: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:539: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:546:54: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
static inline void clk_bulk_put(int num_clks, struct clk_bulk_data *clks) {}
^~~~~~~~~~~~~
include/linux/clk.h:555:69: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
static inline int __must_check clk_bulk_enable(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~
include/linux/clk.h:564:16: 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:624:13: 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: In function 'clk_bulk_prepare_enable':
include/linux/clk.h:628:35: warning: passing argument 2 of 'clk_bulk_prepare' from incompatible pointer type [-Wincompatible-pointer-types]
ret = clk_bulk_prepare(num_clks, clks);
^~~~
include/linux/clk.h:199:32: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline int __must_check clk_bulk_prepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~~
include/linux/clk.h:631:34: warning: passing argument 2 of 'clk_bulk_enable' from incompatible pointer type [-Wincompatible-pointer-types]
ret = clk_bulk_enable(num_clks, clks);
^~~~
include/linux/clk.h:555:32: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline int __must_check clk_bulk_enable(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~
include/linux/clk.h:633:32: warning: passing argument 2 of 'clk_bulk_unprepare' from incompatible pointer type [-Wincompatible-pointer-types]
clk_bulk_unprepare(num_clks, clks);
^~~~
include/linux/clk.h:223:20: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline void clk_bulk_unprepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~~~~
include/linux/clk.h: At top level:
include/linux/clk.h:639:19: 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: In function 'clk_bulk_disable_unprepare':
include/linux/clk.h:641:29: warning: passing argument 2 of 'clk_bulk_disable' from incompatible pointer type [-Wincompatible-pointer-types]
clk_bulk_disable(num_clks, clks);
^~~~
include/linux/clk.h:563:20: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline void clk_bulk_disable(int num_clks,
^~~~~~~~~~~~~~~~
include/linux/clk.h:642:31: warning: passing argument 2 of 'clk_bulk_unprepare' from incompatible pointer type [-Wincompatible-pointer-types]
clk_bulk_unprepare(num_clks, clks);
^~~~
include/linux/clk.h:223:20: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline void clk_bulk_unprepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~~~~
In file included from drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c:25:0:
drivers/media/platform/rockchip/rkisp1/rkisp1-common.h: At top level:
>> drivers/media/platform/rockchip/rkisp1/rkisp1-common.h:360:23: error: array type has incomplete element type 'struct clk_bulk_data'
struct clk_bulk_data clks[RKISP1_MAX_BUS_CLK];
^~~~
drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c: In function 'rkisp1_probe':
>> drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c:563:44: warning: format '%d' expects argument of type 'int', but argument 3 has type 'long int' [-Wformat=]
dev_err(dev, "Failed to init alloc ctx: %d\n",
~^
%ld
PTR_ERR(rkisp1->alloc_ctx));
~~~~~~~~~~~~~~~~~~~~~~~~~~
--
In file included from drivers/media/platform/rockchip/rkisp1/rkisp1-common.h:14:0,
from drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c:19:
include/linux/clk.h:199:70: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
static inline int __must_check 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:528: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:539: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:546:54: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
static inline void clk_bulk_put(int num_clks, struct clk_bulk_data *clks) {}
^~~~~~~~~~~~~
include/linux/clk.h:555:69: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
static inline int __must_check clk_bulk_enable(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~
include/linux/clk.h:564:16: 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:624:13: 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: In function 'clk_bulk_prepare_enable':
include/linux/clk.h:628:35: warning: passing argument 2 of 'clk_bulk_prepare' from incompatible pointer type [-Wincompatible-pointer-types]
ret = clk_bulk_prepare(num_clks, clks);
^~~~
include/linux/clk.h:199:32: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline int __must_check clk_bulk_prepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~~
include/linux/clk.h:631:34: warning: passing argument 2 of 'clk_bulk_enable' from incompatible pointer type [-Wincompatible-pointer-types]
ret = clk_bulk_enable(num_clks, clks);
^~~~
include/linux/clk.h:555:32: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline int __must_check clk_bulk_enable(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~
include/linux/clk.h:633:32: warning: passing argument 2 of 'clk_bulk_unprepare' from incompatible pointer type [-Wincompatible-pointer-types]
clk_bulk_unprepare(num_clks, clks);
^~~~
include/linux/clk.h:223:20: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline void clk_bulk_unprepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~~~~
include/linux/clk.h: At top level:
include/linux/clk.h:639:19: 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: In function 'clk_bulk_disable_unprepare':
include/linux/clk.h:641:29: warning: passing argument 2 of 'clk_bulk_disable' from incompatible pointer type [-Wincompatible-pointer-types]
clk_bulk_disable(num_clks, clks);
^~~~
include/linux/clk.h:563:20: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline void clk_bulk_disable(int num_clks,
^~~~~~~~~~~~~~~~
include/linux/clk.h:642:31: warning: passing argument 2 of 'clk_bulk_unprepare' from incompatible pointer type [-Wincompatible-pointer-types]
clk_bulk_unprepare(num_clks, clks);
^~~~
include/linux/clk.h:223:20: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline void clk_bulk_unprepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~~~~
In file included from drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c:19:0:
drivers/media/platform/rockchip/rkisp1/rkisp1-common.h: At top level:
>> drivers/media/platform/rockchip/rkisp1/rkisp1-common.h:360:23: error: array type has incomplete element type 'struct clk_bulk_data'
struct clk_bulk_data clks[RKISP1_MAX_BUS_CLK];
^~~~
drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c: In function 'rkisp1_isp_enum_mbus_code':
>> drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c:590:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (code->index == pos - 1) {
^~
..
vim +360 drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
5a4eba75642861 drivers/staging/media/rkisp1/rkisp1-common.h Tomasz Figa 2020-09-18 333
5a4eba75642861 drivers/staging/media/rkisp1/rkisp1-common.h Tomasz Figa 2020-09-18 334 /*
5a4eba75642861 drivers/staging/media/rkisp1/rkisp1-common.h Tomasz Figa 2020-09-18 335 * struct rkisp1_device - ISP platform device
91fb3cf59130c6 drivers/staging/media/rkisp1/rkisp1-common.h Dafna Hirschfeld 2020-08-06 336 *
5a4eba75642861 drivers/staging/media/rkisp1/rkisp1-common.h Tomasz Figa 2020-09-18 337 * @base_addr: base register address
91fb3cf59130c6 drivers/staging/media/rkisp1/rkisp1-common.h Dafna Hirschfeld 2020-08-06 338 * @irq: the irq number
91fb3cf59130c6 drivers/staging/media/rkisp1/rkisp1-common.h Dafna Hirschfeld 2020-08-06 339 * @dev: a pointer to the struct device
91fb3cf59130c6 drivers/staging/media/rkisp1/rkisp1-common.h Dafna Hirschfeld 2020-08-06 340 * @clk_size: number of clocks
91fb3cf59130c6 drivers/staging/media/rkisp1/rkisp1-common.h Dafna Hirschfeld 2020-08-06 341 * @clks: array of clocks
91fb3cf59130c6 drivers/staging/media/rkisp1/rkisp1-common.h Dafna Hirschfeld 2020-08-06 342 * @v4l2_dev: v4l2_device variable
91fb3cf59130c6 drivers/staging/media/rkisp1/rkisp1-common.h Dafna Hirschfeld 2020-08-06 343 * @media_dev: media_device variable
91fb3cf59130c6 drivers/staging/media/rkisp1/rkisp1-common.h Dafna Hirschfeld 2020-08-06 344 * @notifier: a notifier to register on the v4l2-async API to be notified on the sensor
5a4eba75642861 drivers/staging/media/rkisp1/rkisp1-common.h Tomasz Figa 2020-09-18 345 * @active_sensor: sensor in-use, set when streaming on
5a4eba75642861 drivers/staging/media/rkisp1/rkisp1-common.h Tomasz Figa 2020-09-18 346 * @isp: ISP sub-device
91fb3cf59130c6 drivers/staging/media/rkisp1/rkisp1-common.h Dafna Hirschfeld 2020-08-06 347 * @resizer_devs: resizer sub-devices
91fb3cf59130c6 drivers/staging/media/rkisp1/rkisp1-common.h Dafna Hirschfeld 2020-08-06 348 * @capture_devs: capture devices
91fb3cf59130c6 drivers/staging/media/rkisp1/rkisp1-common.h Dafna Hirschfeld 2020-08-06 349 * @stats: ISP statistics metadata capture device
91fb3cf59130c6 drivers/staging/media/rkisp1/rkisp1-common.h Dafna Hirschfeld 2020-08-06 350 * @params: ISP parameters metadata output device
91fb3cf59130c6 drivers/staging/media/rkisp1/rkisp1-common.h Dafna Hirschfeld 2020-08-06 351 * @pipe: media pipeline
91fb3cf59130c6 drivers/staging/media/rkisp1/rkisp1-common.h Dafna Hirschfeld 2020-08-06 352 * @stream_lock: serializes {start/stop}_streaming callbacks between the capture devices.
91fb3cf59130c6 drivers/staging/media/rkisp1/rkisp1-common.h Dafna Hirschfeld 2020-08-06 353 * @debug: debug params to be exposed on debugfs
5a4eba75642861 drivers/staging/media/rkisp1/rkisp1-common.h Tomasz Figa 2020-09-18 354 */
5a4eba75642861 drivers/staging/media/rkisp1/rkisp1-common.h Tomasz Figa 2020-09-18 355 struct rkisp1_device {
5a4eba75642861 drivers/staging/media/rkisp1/rkisp1-common.h Tomasz Figa 2020-09-18 356 void __iomem *base_addr;
5a4eba75642861 drivers/staging/media/rkisp1/rkisp1-common.h Tomasz Figa 2020-09-18 357 int irq;
5a4eba75642861 drivers/staging/media/rkisp1/rkisp1-common.h Tomasz Figa 2020-09-18 358 struct device *dev;
5a4eba75642861 drivers/staging/media/rkisp1/rkisp1-common.h Tomasz Figa 2020-09-18 359 unsigned int clk_size;
5a4eba75642861 drivers/staging/media/rkisp1/rkisp1-common.h Tomasz Figa 2020-09-18 @360 struct clk_bulk_data clks[RKISP1_MAX_BUS_CLK];
5a4eba75642861 drivers/staging/media/rkisp1/rkisp1-common.h Tomasz Figa 2020-09-18 361 struct v4l2_device v4l2_dev;
5a4eba75642861 drivers/staging/media/rkisp1/rkisp1-common.h Tomasz Figa 2020-09-18 362 struct media_device media_dev;
5a4eba75642861 drivers/staging/media/rkisp1/rkisp1-common.h Tomasz Figa 2020-09-18 363 struct v4l2_async_notifier notifier;
5a4eba75642861 drivers/staging/media/rkisp1/rkisp1-common.h Tomasz Figa 2020-09-18 364 struct rkisp1_sensor_async *active_sensor;
5a4eba75642861 drivers/staging/media/rkisp1/rkisp1-common.h Tomasz Figa 2020-09-18 365 struct rkisp1_isp isp;
a4204813632adf drivers/staging/media/rkisp1/rkisp1-common.h Helen Koike 2020-01-08 366 struct rkisp1_resizer resizer_devs[2];
a4204813632adf drivers/staging/media/rkisp1/rkisp1-common.h Helen Koike 2020-01-08 367 struct rkisp1_capture capture_devs[2];
4aca6a37205e1a drivers/staging/media/rkisp1/rkisp1-common.h Jacob Chen 2020-01-08 368 struct rkisp1_stats stats;
2f4c504ed6acc5 drivers/staging/media/rkisp1/rkisp1-common.h Jacob Chen 2020-01-08 369 struct rkisp1_params params;
5a4eba75642861 drivers/staging/media/rkisp1/rkisp1-common.h Tomasz Figa 2020-09-18 370 struct media_pipeline pipe;
91fb3cf59130c6 drivers/staging/media/rkisp1/rkisp1-common.h Dafna Hirschfeld 2020-08-06 371 struct mutex stream_lock; /* serialize {start/stop}_streaming cb between capture devices */
5a4eba75642861 drivers/staging/media/rkisp1/rkisp1-common.h Tomasz Figa 2020-09-18 372 struct rkisp1_debug debug;
b5f1444fb68150 drivers/staging/media/rkisp1/rkisp1-common.h Ricardo Ribalda 2020-11-03 373 struct vb2_alloc_ctx *alloc_ctx;
32a2e86ad69b33 drivers/staging/media/rkisp1/rkisp1-common.h Ricardo Ribalda 2020-12-09 374 struct devfreq *devfreq;
5a4eba75642861 drivers/staging/media/rkisp1/rkisp1-common.h Tomasz Figa 2020-09-18 375 };
5a4eba75642861 drivers/staging/media/rkisp1/rkisp1-common.h Tomasz Figa 2020-09-18 376
:::::: The code at line 360 was first introduced by commit
:::::: 5a4eba75642861e857fec1aeb6cfcb055cfe2650 UPSTREAM: media: staging: rkisp1: add Rockchip ISP1 base driver
:::::: TO: Tomasz Figa <tfiga(a)chromium.org>
:::::: CC: Commit Bot <commit-bot(a)chromium.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 6 months
[arnd-playground:randconfig-v5.12 397/597] arch/powerpc/kernel/pci-common.c:1440:35: warning: 'b' is used uninitialized in this function
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git randconfig-v5.12
head: fd21c2581b744639b5207c11651ab40abf13701a
commit: 130e1a398709fc631f3438fa57c450a4b392603e [397/597] pci: move PCI_PROBE_ONLY flag into host_bridge
config: powerpc-allyesconfig (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 9.3.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
# https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git/commi...
git remote add arnd-playground https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git
git fetch --no-tags arnd-playground randconfig-v5.12
git checkout 130e1a398709fc631f3438fa57c450a4b392603e
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
arch/powerpc/kernel/pci-common.c: In function 'pcibios_resource_survey':
>> arch/powerpc/kernel/pci-common.c:1440:35: warning: 'b' is used uninitialized in this function [-Wuninitialized]
1440 | struct pci_host_bridge *bridge = pci_find_host_bridge(b);
| ^~~~~~~~~~~~~~~~~~~~~~~
vim +/b +1440 arch/powerpc/kernel/pci-common.c
1436
1437 void __init pcibios_resource_survey(void)
1438 {
1439 struct pci_bus *b;
> 1440 struct pci_host_bridge *bridge = pci_find_host_bridge(b);
1441
1442 /* Allocate and assign resources */
1443 list_for_each_entry(b, &pci_root_buses, node)
1444 pcibios_allocate_bus_resources(b);
1445 if (!pci_has_flag(PCI_REASSIGN_ALL_RSRC)) {
1446 pcibios_allocate_resources(0);
1447 pcibios_allocate_resources(1);
1448 }
1449
1450 /* Before we start assigning unassigned resource, we try to reserve
1451 * the low IO area and the VGA memory area if they intersect the
1452 * bus available resources to avoid allocating things on top of them
1453 */
1454 if (!bridge->probe_only) {
1455 list_for_each_entry(b, &pci_root_buses, node)
1456 pcibios_reserve_legacy_regions(b);
1457 }
1458
1459 /* Now, if the platform didn't decide to blindly trust the firmware,
1460 * we proceed to assigning things that were left unassigned
1461 */
1462 if (!bridge->probe_only) {
1463 pr_debug("PCI: Assigning unassigned resources...\n");
1464 pci_assign_unassigned_resources();
1465 }
1466 }
1467
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 6 months
[hid:for-5.13/thrustmaster 1/1] drivers/hid/hid-thrustmaster.c:62: warning: wrong kernel-doc identifier on line:
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git for-5.13/thrustmaster
head: c49c33637802a2c6957a78119eb8be3b055dd9e9
commit: c49c33637802a2c6957a78119eb8be3b055dd9e9 [1/1] HID: support for initialization of some Thrustmaster wheels
config: nios2-randconfig-s032-20210318 (attached as .config)
compiler: nios2-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-277-gc089cd2d-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git/commit/?id=c4...
git remote add hid https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git
git fetch --no-tags hid for-5.13/thrustmaster
git checkout c49c33637802a2c6957a78119eb8be3b055dd9e9
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=nios2
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/hid/hid-thrustmaster.c:23: warning: Incorrect use of kernel-doc format: * These interrupts are used to prevent a nasty crash when initializing the
drivers/hid/hid-thrustmaster.c:26: warning: cannot understand function prototype: 'const u8 setup_0[] = '
drivers/hid/hid-thrustmaster.c:49: warning: cannot understand function prototype: 'struct tm_wheel_info '
>> drivers/hid/hid-thrustmaster.c:62: warning: wrong kernel-doc identifier on line:
* Known wheels.
drivers/hid/hid-thrustmaster.c:84: warning: cannot understand function prototype: 'struct __packed tm_wheel_response '
drivers/hid/hid-thrustmaster.c:143: warning: wrong kernel-doc identifier on line:
* On some setups initializing the T300RS crashes the kernel,
drivers/hid/hid-thrustmaster.c:202: warning: Function parameter or member 'urb' not described in 'thrustmaster_model_handler'
>> drivers/hid/hid-thrustmaster.c:202: warning: expecting prototype for Called by the USB subsystem when the wheel responses to our request(). Prototype was for thrustmaster_model_handler() instead
drivers/hid/hid-thrustmaster.c:265: warning: wrong kernel-doc identifier on line:
* Function called by HID when a hid Thrustmaster FFB wheel is connected to the host.
vim +62 drivers/hid/hid-thrustmaster.c
60
61 /**
> 62 * Known wheels.
63 * Note: TMX does not work as it requires 2 control packets
64 */
65 static const struct tm_wheel_info tm_wheels_infos[] = {
66 {0x0306, 0x0006, "Thrustmaster T150RS"},
67 {0x0206, 0x0005, "Thrustmaster T300RS"},
68 {0x0204, 0x0005, "Thrustmaster T300 Ferrari Alcantara Edition"},
69 {0x0002, 0x0002, "Thrustmaster T500RS"}
70 //{0x0407, 0x0001, "Thrustmaster TMX"}
71 };
72
73 static const uint8_t tm_wheels_infos_length = 4;
74
75 /**
76 * This structs contains (in little endian) the response data
77 * of the wheel to the request 73
78 *
79 * A sufficient research to understand what each field does is not
80 * beign conducted yet. The position and meaning of fields are a
81 * just a very optimistic guess based on instinct....
82 */
83 struct __packed tm_wheel_response
84 {
85 /**
86 * Seems to be the type of packet
87 * - 0x0049 if is data.a (15 bytes)
88 * - 0x0047 if is data.b (7 bytes)
89 */
90 uint16_t type;
91
92 union {
93 struct __packed {
94 uint16_t field0;
95 uint16_t field1;
96 /**
97 * Seems to be the model code of the wheel
98 * Read table thrustmaster_wheels to values
99 */
100 uint16_t model;
101
102 uint16_t field2;
103 uint16_t field3;
104 uint16_t field4;
105 uint16_t field5;
106 } a;
107 struct __packed {
108 uint16_t field0;
109 uint16_t field1;
110 uint16_t model;
111 } b;
112 } data;
113 };
114
115 struct tm_wheel {
116 struct usb_device *usb_dev;
117 struct urb *urb;
118
119 struct usb_ctrlrequest *model_request;
120 struct tm_wheel_response *response;
121
122 struct usb_ctrlrequest *change_request;
123 };
124
125 /** The control packet to send to wheel */
126 static const struct usb_ctrlrequest model_request = {
127 .bRequestType = 0xc1,
128 .bRequest = 73,
129 .wValue = 0,
130 .wIndex = 0,
131 .wLength = cpu_to_le16(0x0010)
132 };
133
134 static const struct usb_ctrlrequest change_request = {
135 .bRequestType = 0x41,
136 .bRequest = 83,
137 .wValue = 0, // Will be filled by the driver
138 .wIndex = 0,
139 .wLength = 0
140 };
141
142 /**
143 * On some setups initializing the T300RS crashes the kernel,
144 * these interrupts fix that particular issue. So far they haven't caused any
145 * adverse effects in other wheels.
146 */
147 static void thrustmaster_interrupts(struct hid_device *hdev)
148 {
149 int ret, trans, i, b_ep;
150 u8 *send_buf = kmalloc(256, GFP_KERNEL);
151 struct usb_host_endpoint *ep;
152 struct device *dev = &hdev->dev;
153 struct usb_interface *usbif = to_usb_interface(dev->parent);
154 struct usb_device *usbdev = interface_to_usbdev(usbif);
155
156 if (!send_buf) {
157 hid_err(hdev, "failed allocating send buffer\n");
158 return;
159 }
160
161 ep = &usbif->cur_altsetting->endpoint[1];
162 b_ep = ep->desc.bEndpointAddress;
163
164 for (i = 0; i < ARRAY_SIZE(setup_arr); ++i) {
165 memcpy(send_buf, setup_arr[i], setup_arr_sizes[i]);
166
167 ret = usb_interrupt_msg(usbdev,
168 usb_sndintpipe(usbdev, b_ep),
169 send_buf,
170 setup_arr_sizes[i],
171 &trans,
172 USB_CTRL_SET_TIMEOUT);
173
174 if (ret) {
175 hid_err(hdev, "setup data couldn't be sent\n");
176 return;
177 }
178 }
179
180 kfree(send_buf);
181 }
182
183 static void thrustmaster_change_handler(struct urb *urb)
184 {
185 struct hid_device *hdev = urb->context;
186
187 // The wheel seems to kill himself before answering the host and therefore is violating the USB protocol...
188 if (urb->status == 0 || urb->status == -EPROTO || urb->status == -EPIPE)
189 hid_info(hdev, "Success?! The wheel should have been initialized!\n");
190 else
191 hid_warn(hdev, "URB to change wheel mode seems to have failed with error %d\n", urb->status);
192 }
193
194 /**
195 * Called by the USB subsystem when the wheel responses to our request
196 * to get [what it seems to be] the wheel's model.
197 *
198 * If the model id is recognized then we send an opportune USB CONTROL REQUEST
199 * to switch the wheel to its full capabilities
200 */
201 static void thrustmaster_model_handler(struct urb *urb)
> 202 {
203 struct hid_device *hdev = urb->context;
204 struct tm_wheel *tm_wheel = hid_get_drvdata(hdev);
205 uint16_t model = 0;
206 int i, ret;
207 const struct tm_wheel_info *twi = 0;
208
209 if (urb->status) {
210 hid_err(hdev, "URB to get model id failed with error %d\n", urb->status);
211 return;
212 }
213
214 if (tm_wheel->response->type == cpu_to_le16(0x49))
215 model = le16_to_cpu(tm_wheel->response->data.a.model);
216 else if (tm_wheel->response->type == cpu_to_le16(0x47))
217 model = le16_to_cpu(tm_wheel->response->data.b.model);
218 else {
219 hid_err(hdev, "Unknown packet type 0x%x, unable to proceed further with wheel init\n", tm_wheel->response->type);
220 return;
221 }
222
223 for (i = 0; i < tm_wheels_infos_length && !twi; i++)
224 if (tm_wheels_infos[i].wheel_type == model)
225 twi = tm_wheels_infos + i;
226
227 if (twi)
228 hid_info(hdev, "Wheel with model id 0x%x is a %s\n", model, twi->wheel_name);
229 else {
230 hid_err(hdev, "Unknown wheel's model id 0x%x, unable to proceed further with wheel init\n", model);
231 return;
232 }
233
234 tm_wheel->change_request->wValue = cpu_to_le16(twi->switch_value);
235 usb_fill_control_urb(
236 tm_wheel->urb,
237 tm_wheel->usb_dev,
238 usb_sndctrlpipe(tm_wheel->usb_dev, 0),
239 (char *)tm_wheel->change_request,
240 0, 0, // We do not expect any response from the wheel
241 thrustmaster_change_handler,
242 hdev
243 );
244
245 ret = usb_submit_urb(tm_wheel->urb, GFP_ATOMIC);
246 if (ret)
247 hid_err(hdev, "Error %d while submitting the change URB. I am unable to initialize this wheel...\n", ret);
248 }
249
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 6 months
Re: [PATCH net-next] net: add CONFIG_PCPU_DEV_REFCNT
by kernel test robot
Hi Eric,
I love your patch! Perhaps something to improve:
[auto build test WARNING on net-next/master]
url: https://github.com/0day-ci/linux/commits/Eric-Dumazet/net-add-CONFIG_PCPU...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 38cb57602369cf194556460a52bd18e53c76e13d
config: arm-randconfig-r014-20210318 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project fcc1ce00931751ac02498986feb37744e9ace8de)
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
# install arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://github.com/0day-ci/linux/commit/684c34243e0c84e496aa426734df321b7...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Eric-Dumazet/net-add-CONFIG_PCPU_DEV_REFCNT/20210319-230417
git checkout 684c34243e0c84e496aa426734df321b7ebc088b
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang 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 warnings (new ones prefixed by >>):
>> net/core/dev.c:10752:1: warning: unused label 'free_dev' [-Wunused-label]
free_dev:
^~~~~~~~~
net/core/dev.c:4993:1: warning: unused function 'sch_handle_ingress' [-Wunused-function]
sch_handle_ingress(struct sk_buff *skb, struct packet_type **pt_prev, int *ret,
^
net/core/dev.c:5143:19: warning: unused function 'nf_ingress' [-Wunused-function]
static inline int nf_ingress(struct sk_buff *skb, struct packet_type **pt_prev,
^
3 warnings generated.
vim +/free_dev +10752 net/core/dev.c
8d3bdbd55a7e2a David S. Miller 2011-02-08 10703
8d3bdbd55a7e2a David S. Miller 2011-02-08 10704 INIT_LIST_HEAD(&dev->napi_list);
8d3bdbd55a7e2a David S. Miller 2011-02-08 10705 INIT_LIST_HEAD(&dev->unreg_list);
5cde282938915f Eric W. Biederman 2013-10-05 10706 INIT_LIST_HEAD(&dev->close_list);
8d3bdbd55a7e2a David S. Miller 2011-02-08 10707 INIT_LIST_HEAD(&dev->link_watch_list);
2f268f129c2d1a Veaceslav Falico 2013-09-25 10708 INIT_LIST_HEAD(&dev->adj_list.upper);
2f268f129c2d1a Veaceslav Falico 2013-09-25 10709 INIT_LIST_HEAD(&dev->adj_list.lower);
7866a621043fba Salam Noureddine 2015-01-27 10710 INIT_LIST_HEAD(&dev->ptype_all);
7866a621043fba Salam Noureddine 2015-01-27 10711 INIT_LIST_HEAD(&dev->ptype_specific);
93642e14bd50e5 Jiri Pirko 2020-01-25 10712 INIT_LIST_HEAD(&dev->net_notifier_list);
59cc1f61f09c26 Jiri Kosina 2016-08-10 10713 #ifdef CONFIG_NET_SCHED
59cc1f61f09c26 Jiri Kosina 2016-08-10 10714 hash_init(dev->qdisc_hash);
59cc1f61f09c26 Jiri Kosina 2016-08-10 10715 #endif
0287587884b150 Eric Dumazet 2014-10-05 10716 dev->priv_flags = IFF_XMIT_DST_RELEASE | IFF_XMIT_DST_RELEASE_PERM;
8d3bdbd55a7e2a David S. Miller 2011-02-08 10717 setup(dev);
8d3bdbd55a7e2a David S. Miller 2011-02-08 10718
a813104d923339 Phil Sutter 2016-02-17 10719 if (!dev->tx_queue_len) {
f84bb1eac02752 Phil Sutter 2015-08-27 10720 dev->priv_flags |= IFF_NO_QUEUE;
1159708432f706 Jesper Dangaard Brouer 2016-11-03 10721 dev->tx_queue_len = DEFAULT_TX_QUEUE_LEN;
a813104d923339 Phil Sutter 2016-02-17 10722 }
906470c19da771 Phil Sutter 2015-08-18 10723
36909ea43814cb Tom Herbert 2011-01-09 10724 dev->num_tx_queues = txqs;
36909ea43814cb Tom Herbert 2011-01-09 10725 dev->real_num_tx_queues = txqs;
ed9af2e839c06c Tom Herbert 2010-11-09 10726 if (netif_alloc_netdev_queues(dev))
8d3bdbd55a7e2a David S. Miller 2011-02-08 10727 goto free_all;
e8a0464cc95097 David S. Miller 2008-07-17 10728
36909ea43814cb Tom Herbert 2011-01-09 10729 dev->num_rx_queues = rxqs;
36909ea43814cb Tom Herbert 2011-01-09 10730 dev->real_num_rx_queues = rxqs;
fe8222406c8277 Tom Herbert 2010-11-09 10731 if (netif_alloc_rx_queues(dev))
8d3bdbd55a7e2a David S. Miller 2011-02-08 10732 goto free_all;
0a9627f2649a02 Tom Herbert 2010-03-16 10733
^1da177e4c3f41 Linus Torvalds 2005-04-16 10734 strcpy(dev->name, name);
c835a677331495 Tom Gundersen 2014-07-14 10735 dev->name_assign_type = name_assign_type;
cbda10fa97d72c Vlad Dogaru 2011-01-13 10736 dev->group = INIT_NETDEV_GROUP;
2c60db037034d2 Eric Dumazet 2012-09-16 10737 if (!dev->ethtool_ops)
2c60db037034d2 Eric Dumazet 2012-09-16 10738 dev->ethtool_ops = &default_ethtool_ops;
e687ad60af0901 Pablo Neira 2015-05-13 10739
357b6cc5834eab Daniel Borkmann 2020-03-18 10740 nf_hook_ingress_init(dev);
e687ad60af0901 Pablo Neira 2015-05-13 10741
^1da177e4c3f41 Linus Torvalds 2005-04-16 10742 return dev;
ab9c73ccb52f40 Jiri Pirko 2009-05-08 10743
8d3bdbd55a7e2a David S. Miller 2011-02-08 10744 free_all:
8d3bdbd55a7e2a David S. Miller 2011-02-08 10745 free_netdev(dev);
8d3bdbd55a7e2a David S. Miller 2011-02-08 10746 return NULL;
8d3bdbd55a7e2a David S. Miller 2011-02-08 10747
29b4433d991c88 Eric Dumazet 2010-10-11 10748 free_pcpu:
684c34243e0c84 Eric Dumazet 2021-03-19 10749 #ifdef CONFIG_PCPU_DEV_REFCNT
29b4433d991c88 Eric Dumazet 2010-10-11 10750 free_percpu(dev->pcpu_refcnt);
684c34243e0c84 Eric Dumazet 2021-03-19 10751 #endif
74d332c13b2148 Eric Dumazet 2013-10-30 @10752 free_dev:
74d332c13b2148 Eric Dumazet 2013-10-30 10753 netdev_freemem(dev);
ab9c73ccb52f40 Jiri Pirko 2009-05-08 10754 return NULL;
^1da177e4c3f41 Linus Torvalds 2005-04-16 10755 }
36909ea43814cb Tom Herbert 2011-01-09 10756 EXPORT_SYMBOL(alloc_netdev_mqs);
^1da177e4c3f41 Linus Torvalds 2005-04-16 10757
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 6 months
[perf:tmp.bpf/bpf_perf_enable 1/1] kernel/trace/bpf_trace.c:1329:36: warning: unused variable 'bpf_perf_event_enable_proto'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tmp.bpf/bpf_perf_enable
head: 1ba795701061b272d73de6f55e43db6116c1cf36
commit: 1ba795701061b272d73de6f55e43db6116c1cf36 [1/1] WIP: bpf_perf_event_(dis,en)able
config: x86_64-randconfig-r032-20210318 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project fcc1ce00931751ac02498986feb37744e9ace8de)
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
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git/commit/?id...
git remote add perf https://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git
git fetch --no-tags perf tmp.bpf/bpf_perf_enable
git checkout 1ba795701061b272d73de6f55e43db6116c1cf36
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> kernel/trace/bpf_trace.c:1329:36: warning: unused variable 'bpf_perf_event_enable_proto' [-Wunused-const-variable]
static const struct bpf_func_proto bpf_perf_event_enable_proto = {
^
>> kernel/trace/bpf_trace.c:1342:36: warning: unused variable 'bpf_perf_event_disable_proto' [-Wunused-const-variable]
static const struct bpf_func_proto bpf_perf_event_disable_proto = {
^
2 warnings generated.
vim +/bpf_perf_event_enable_proto +1329 kernel/trace/bpf_trace.c
1328
> 1329 static const struct bpf_func_proto bpf_perf_event_enable_proto = {
1330 .func = bpf_perf_event_enable,
1331 .gpl_only = true,
1332 .ret_type = RET_INTEGER,
1333 .arg1_type = ARG_CONST_MAP_PTR,
1334 .arg2_type = ARG_ANYTHING,
1335 };
1336
1337 BPF_CALL_2(bpf_perf_event_disable, struct bpf_map *, map, u64, flags)
1338 {
1339 return bpf_map__perf_event_set_state(map, flags, perf_event_disable);
1340 }
1341
> 1342 static const struct bpf_func_proto bpf_perf_event_disable_proto = {
1343 .func = bpf_perf_event_disable,
1344 .gpl_only = true,
1345 .ret_type = RET_INTEGER,
1346 .arg1_type = ARG_CONST_MAP_PTR,
1347 .arg2_type = ARG_ANYTHING,
1348 };
1349
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 6 months
[linux-stable-rc:linux-5.4.y 2921/5575] arch/ia64/kernel/kprobes.c:401:17: error: implicit declaration of function '__kretprobe_trampoline_handler'; did you mean
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.4.y
head: 8a800acdf26f05d289c05e416591b6b18917b044
commit: 77fa5e15c933a1ec812de61ad709c00aa51e96ae [2921/5575] ia64: kprobes: Use generic kretprobe trampoline handler
config: ia64-allmodconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 9.3.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
# https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gi...
git remote add linux-stable-rc https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
git fetch --no-tags linux-stable-rc linux-5.4.y
git checkout 77fa5e15c933a1ec812de61ad709c00aa51e96ae
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=ia64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
arch/ia64/kernel/kprobes.c: In function 'get_kprobe_inst':
arch/ia64/kernel/kprobes.c:325:15: warning: variable 'template' set but not used [-Wunused-but-set-variable]
325 | unsigned int template;
| ^~~~~~~~
arch/ia64/kernel/kprobes.c: At top level:
arch/ia64/kernel/kprobes.c:399:15: warning: no previous prototype for 'trampoline_probe_handler' [-Wmissing-prototypes]
399 | int __kprobes trampoline_probe_handler(struct kprobe *p, struct pt_regs *regs)
| ^~~~~~~~~~~~~~~~~~~~~~~~
arch/ia64/kernel/kprobes.c: In function 'trampoline_probe_handler':
>> arch/ia64/kernel/kprobes.c:401:17: error: implicit declaration of function '__kretprobe_trampoline_handler'; did you mean 'kretprobe_trampoline'? [-Werror=implicit-function-declaration]
401 | regs->cr_iip = __kretprobe_trampoline_handler(regs, kretprobe_trampoline, NULL);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| kretprobe_trampoline
cc1: some warnings being treated as errors
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for FRAME_POINTER
Depends on DEBUG_KERNEL && (M68K || UML || SUPERH) || ARCH_WANT_FRAME_POINTERS
Selected by
- FAULT_INJECTION_STACKTRACE_FILTER && FAULT_INJECTION_DEBUG_FS && STACKTRACE_SUPPORT && !X86_64 && !MIPS && !PPC && !S390 && !MICROBLAZE && !ARM && !ARC && !X86
vim +401 arch/ia64/kernel/kprobes.c
398
399 int __kprobes trampoline_probe_handler(struct kprobe *p, struct pt_regs *regs)
400 {
> 401 regs->cr_iip = __kretprobe_trampoline_handler(regs, kretprobe_trampoline, NULL);
402 /*
403 * By returning a non-zero value, we are telling
404 * kprobe_handler() that we don't want the post_handler
405 * to run (and have re-enabled preemption)
406 */
407 return 1;
408 }
409
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 6 months
[hid:for-5.13/thrustmaster 1/1] drivers/hid/hid-thrustmaster.c:62: warning: wrong kernel-doc identifier on line:
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git for-5.13/thrustmaster
head: c49c33637802a2c6957a78119eb8be3b055dd9e9
commit: c49c33637802a2c6957a78119eb8be3b055dd9e9 [1/1] HID: support for initialization of some Thrustmaster wheels
config: arm64-randconfig-r033-20210318 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project fcc1ce00931751ac02498986feb37744e9ace8de)
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
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git/commit/?id=c4...
git remote add hid https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git
git fetch --no-tags hid for-5.13/thrustmaster
git checkout c49c33637802a2c6957a78119eb8be3b055dd9e9
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/hid/hid-thrustmaster.c:23: warning: Incorrect use of kernel-doc format: * These interrupts are used to prevent a nasty crash when initializing the
drivers/hid/hid-thrustmaster.c:26: warning: cannot understand function prototype: 'const u8 setup_0[] = '
drivers/hid/hid-thrustmaster.c:49: warning: cannot understand function prototype: 'struct tm_wheel_info '
>> drivers/hid/hid-thrustmaster.c:62: warning: wrong kernel-doc identifier on line:
* Known wheels.
drivers/hid/hid-thrustmaster.c:84: warning: cannot understand function prototype: 'struct __packed tm_wheel_response '
drivers/hid/hid-thrustmaster.c:143: warning: wrong kernel-doc identifier on line:
* On some setups initializing the T300RS crashes the kernel,
drivers/hid/hid-thrustmaster.c:202: warning: Function parameter or member 'urb' not described in 'thrustmaster_model_handler'
>> drivers/hid/hid-thrustmaster.c:202: warning: expecting prototype for Called by the USB subsystem when the wheel responses to our request(). Prototype was for thrustmaster_model_handler() instead
drivers/hid/hid-thrustmaster.c:265: warning: wrong kernel-doc identifier on line:
* Function called by HID when a hid Thrustmaster FFB wheel is connected to the host.
vim +62 drivers/hid/hid-thrustmaster.c
21
22 /**
> 23 * These interrupts are used to prevent a nasty crash when initializing the
24 * T300RS. Used in thrustmaster_interrupts().
25 */
26 static const u8 setup_0[] = { 0x42, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
27 static const u8 setup_1[] = { 0x0a, 0x04, 0x90, 0x03, 0x00, 0x00, 0x00, 0x00 };
28 static const u8 setup_2[] = { 0x0a, 0x04, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00 };
29 static const u8 setup_3[] = { 0x0a, 0x04, 0x12, 0x10, 0x00, 0x00, 0x00, 0x00 };
30 static const u8 setup_4[] = { 0x0a, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00 };
31 static const u8 *const setup_arr[] = { setup_0, setup_1, setup_2, setup_3, setup_4 };
32 static const unsigned int setup_arr_sizes[] = {
33 ARRAY_SIZE(setup_0),
34 ARRAY_SIZE(setup_1),
35 ARRAY_SIZE(setup_2),
36 ARRAY_SIZE(setup_3),
37 ARRAY_SIZE(setup_4)
38 };
39 /**
40 * This struct contains for each type of
41 * Thrustmaster wheel
42 *
43 * Note: The values are stored in the CPU
44 * endianness, the USB protocols always use
45 * little endian; the macro cpu_to_le[BIT]()
46 * must be used when preparing USB packets
47 * and vice-versa
48 */
49 struct tm_wheel_info {
50 uint16_t wheel_type;
51
52 /**
53 * See when the USB control out packet is prepared...
54 * @TODO The TMX seems to require multiple control codes to switch.
55 */
56 uint16_t switch_value;
57
58 char const *const wheel_name;
59 };
60
61 /**
> 62 * Known wheels.
63 * Note: TMX does not work as it requires 2 control packets
64 */
65 static const struct tm_wheel_info tm_wheels_infos[] = {
66 {0x0306, 0x0006, "Thrustmaster T150RS"},
67 {0x0206, 0x0005, "Thrustmaster T300RS"},
68 {0x0204, 0x0005, "Thrustmaster T300 Ferrari Alcantara Edition"},
69 {0x0002, 0x0002, "Thrustmaster T500RS"}
70 //{0x0407, 0x0001, "Thrustmaster TMX"}
71 };
72
73 static const uint8_t tm_wheels_infos_length = 4;
74
75 /**
76 * This structs contains (in little endian) the response data
77 * of the wheel to the request 73
78 *
79 * A sufficient research to understand what each field does is not
80 * beign conducted yet. The position and meaning of fields are a
81 * just a very optimistic guess based on instinct....
82 */
83 struct __packed tm_wheel_response
84 {
85 /**
86 * Seems to be the type of packet
87 * - 0x0049 if is data.a (15 bytes)
88 * - 0x0047 if is data.b (7 bytes)
89 */
90 uint16_t type;
91
92 union {
93 struct __packed {
94 uint16_t field0;
95 uint16_t field1;
96 /**
97 * Seems to be the model code of the wheel
98 * Read table thrustmaster_wheels to values
99 */
100 uint16_t model;
101
102 uint16_t field2;
103 uint16_t field3;
104 uint16_t field4;
105 uint16_t field5;
106 } a;
107 struct __packed {
108 uint16_t field0;
109 uint16_t field1;
110 uint16_t model;
111 } b;
112 } data;
113 };
114
115 struct tm_wheel {
116 struct usb_device *usb_dev;
117 struct urb *urb;
118
119 struct usb_ctrlrequest *model_request;
120 struct tm_wheel_response *response;
121
122 struct usb_ctrlrequest *change_request;
123 };
124
125 /** The control packet to send to wheel */
126 static const struct usb_ctrlrequest model_request = {
127 .bRequestType = 0xc1,
128 .bRequest = 73,
129 .wValue = 0,
130 .wIndex = 0,
131 .wLength = cpu_to_le16(0x0010)
132 };
133
134 static const struct usb_ctrlrequest change_request = {
135 .bRequestType = 0x41,
136 .bRequest = 83,
137 .wValue = 0, // Will be filled by the driver
138 .wIndex = 0,
139 .wLength = 0
140 };
141
142 /**
143 * On some setups initializing the T300RS crashes the kernel,
144 * these interrupts fix that particular issue. So far they haven't caused any
145 * adverse effects in other wheels.
146 */
147 static void thrustmaster_interrupts(struct hid_device *hdev)
148 {
149 int ret, trans, i, b_ep;
150 u8 *send_buf = kmalloc(256, GFP_KERNEL);
151 struct usb_host_endpoint *ep;
152 struct device *dev = &hdev->dev;
153 struct usb_interface *usbif = to_usb_interface(dev->parent);
154 struct usb_device *usbdev = interface_to_usbdev(usbif);
155
156 if (!send_buf) {
157 hid_err(hdev, "failed allocating send buffer\n");
158 return;
159 }
160
161 ep = &usbif->cur_altsetting->endpoint[1];
162 b_ep = ep->desc.bEndpointAddress;
163
164 for (i = 0; i < ARRAY_SIZE(setup_arr); ++i) {
165 memcpy(send_buf, setup_arr[i], setup_arr_sizes[i]);
166
167 ret = usb_interrupt_msg(usbdev,
168 usb_sndintpipe(usbdev, b_ep),
169 send_buf,
170 setup_arr_sizes[i],
171 &trans,
172 USB_CTRL_SET_TIMEOUT);
173
174 if (ret) {
175 hid_err(hdev, "setup data couldn't be sent\n");
176 return;
177 }
178 }
179
180 kfree(send_buf);
181 }
182
183 static void thrustmaster_change_handler(struct urb *urb)
184 {
185 struct hid_device *hdev = urb->context;
186
187 // The wheel seems to kill himself before answering the host and therefore is violating the USB protocol...
188 if (urb->status == 0 || urb->status == -EPROTO || urb->status == -EPIPE)
189 hid_info(hdev, "Success?! The wheel should have been initialized!\n");
190 else
191 hid_warn(hdev, "URB to change wheel mode seems to have failed with error %d\n", urb->status);
192 }
193
194 /**
195 * Called by the USB subsystem when the wheel responses to our request
196 * to get [what it seems to be] the wheel's model.
197 *
198 * If the model id is recognized then we send an opportune USB CONTROL REQUEST
199 * to switch the wheel to its full capabilities
200 */
201 static void thrustmaster_model_handler(struct urb *urb)
> 202 {
203 struct hid_device *hdev = urb->context;
204 struct tm_wheel *tm_wheel = hid_get_drvdata(hdev);
205 uint16_t model = 0;
206 int i, ret;
207 const struct tm_wheel_info *twi = 0;
208
209 if (urb->status) {
210 hid_err(hdev, "URB to get model id failed with error %d\n", urb->status);
211 return;
212 }
213
214 if (tm_wheel->response->type == cpu_to_le16(0x49))
215 model = le16_to_cpu(tm_wheel->response->data.a.model);
216 else if (tm_wheel->response->type == cpu_to_le16(0x47))
217 model = le16_to_cpu(tm_wheel->response->data.b.model);
218 else {
219 hid_err(hdev, "Unknown packet type 0x%x, unable to proceed further with wheel init\n", tm_wheel->response->type);
220 return;
221 }
222
223 for (i = 0; i < tm_wheels_infos_length && !twi; i++)
224 if (tm_wheels_infos[i].wheel_type == model)
225 twi = tm_wheels_infos + i;
226
227 if (twi)
228 hid_info(hdev, "Wheel with model id 0x%x is a %s\n", model, twi->wheel_name);
229 else {
230 hid_err(hdev, "Unknown wheel's model id 0x%x, unable to proceed further with wheel init\n", model);
231 return;
232 }
233
234 tm_wheel->change_request->wValue = cpu_to_le16(twi->switch_value);
235 usb_fill_control_urb(
236 tm_wheel->urb,
237 tm_wheel->usb_dev,
238 usb_sndctrlpipe(tm_wheel->usb_dev, 0),
239 (char *)tm_wheel->change_request,
240 0, 0, // We do not expect any response from the wheel
241 thrustmaster_change_handler,
242 hdev
243 );
244
245 ret = usb_submit_urb(tm_wheel->urb, GFP_ATOMIC);
246 if (ret)
247 hid_err(hdev, "Error %d while submitting the change URB. I am unable to initialize this wheel...\n", ret);
248 }
249
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 6 months
[arnd-playground:randconfig-v5.12 397/597] arch/alpha/kernel/pci.c:213:25: error: expected identifier or '(' before '=' token
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git randconfig-v5.12
head: fd21c2581b744639b5207c11651ab40abf13701a
commit: 130e1a398709fc631f3438fa57c450a4b392603e [397/597] pci: move PCI_PROBE_ONLY flag into host_bridge
config: alpha-defconfig (attached as .config)
compiler: alpha-linux-gcc (GCC) 9.3.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
# https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git/commi...
git remote add arnd-playground https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git
git fetch --no-tags arnd-playground randconfig-v5.12
git checkout 130e1a398709fc631f3438fa57c450a4b392603e
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=alpha
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
arch/alpha/kernel/pci.c: In function 'pdev_save_srm_config':
>> arch/alpha/kernel/pci.c:213:25: error: expected identifier or '(' before '=' token
213 | struct pci_host_bridge = pci_find_host_bridge(dev->bus);
| ^
>> arch/alpha/kernel/pci.c:216:26: error: 'bridge' undeclared (first use in this function)
216 | if (!alpha_using_srm || bridge->probe_only)
| ^~~~~~
arch/alpha/kernel/pci.c:216:26: note: each undeclared identifier is reported only once for each function it appears in
arch/alpha/kernel/pci.c: In function 'pcibios_fixup_bus':
arch/alpha/kernel/pci.c:254:25: error: expected identifier or '(' before '=' token
254 | struct pci_host_bridge = pci_find_host_bridge(bus);
| ^
arch/alpha/kernel/pci.c:256:6: error: 'bridge' undeclared (first use in this function)
256 | if (bridge->probe_only && dev &&
| ^~~~~~
arch/alpha/kernel/pci.c: At top level:
arch/alpha/kernel/pci.c:283:1: warning: no previous prototype for 'pcibios_claim_one_bus' [-Wmissing-prototypes]
283 | pcibios_claim_one_bus(struct pci_bus *b)
| ^~~~~~~~~~~~~~~~~~~~~
vim +213 arch/alpha/kernel/pci.c
209
210 static void pdev_save_srm_config(struct pci_dev *dev)
211 {
212 struct pdev_srm_saved_conf *tmp;
> 213 struct pci_host_bridge = pci_find_host_bridge(dev->bus);
214 static int printed = 0;
215
> 216 if (!alpha_using_srm || bridge->probe_only)
217 return;
218
219 if (!printed) {
220 printk(KERN_INFO "pci: enabling save/restore of SRM state\n");
221 printed = 1;
222 }
223
224 tmp = kmalloc(sizeof(*tmp), GFP_KERNEL);
225 if (!tmp) {
226 printk(KERN_ERR "%s: kmalloc() failed!\n", __func__);
227 return;
228 }
229 tmp->next = srm_saved_configs;
230 tmp->dev = dev;
231
232 pci_save_state(dev);
233
234 srm_saved_configs = tmp;
235 }
236
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 6 months
[chrome-os:chromeos-4.4 57/215] drivers/staging/media/rkisp1/rkisp1-common.h:145:23: error: array type has incomplete element type 'struct clk_bulk_data'
by kernel test robot
tree: https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-4.4
head: d78843bdba14be5be451753e78a3753413fda6a2
commit: 5a4eba75642861e857fec1aeb6cfcb055cfe2650 [57/215] UPSTREAM: media: staging: rkisp1: add Rockchip ISP1 base driver
config: nios2-allyesconfig (attached as .config)
compiler: nios2-linux-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 5a4eba75642861e857fec1aeb6cfcb055cfe2650
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-7.5.0 make.cross ARCH=nios2
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Note: the chrome-os/chromeos-4.4 HEAD d78843bdba14be5be451753e78a3753413fda6a2 builds fine.
It only hurts bisectibility.
All error/warnings (new ones prefixed by >>):
^~
include/media/v4l2-rect.h:193:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (r1->top >= r2->top + r2->height ||
^~
include/media/v4l2-rect.h:194:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
r2->top >= r1->top + r1->height)
^~
In file included from drivers/staging/media/rkisp1/rkisp1-common.h:14:0,
from drivers/staging/media/rkisp1/rkisp1-common.c:10:
include/linux/clk.h: At top level:
include/linux/clk.h:199:70: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
static inline int __must_check 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:528: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:539: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:546:54: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
static inline void clk_bulk_put(int num_clks, struct clk_bulk_data *clks) {}
^~~~~~~~~~~~~
include/linux/clk.h:555:69: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
static inline int __must_check clk_bulk_enable(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~
include/linux/clk.h:564:16: 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:624:13: 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: In function 'clk_bulk_prepare_enable':
include/linux/clk.h:628:35: warning: passing argument 2 of 'clk_bulk_prepare' from incompatible pointer type [-Wincompatible-pointer-types]
ret = clk_bulk_prepare(num_clks, clks);
^~~~
include/linux/clk.h:199:32: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline int __must_check clk_bulk_prepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~~
include/linux/clk.h:631:34: warning: passing argument 2 of 'clk_bulk_enable' from incompatible pointer type [-Wincompatible-pointer-types]
ret = clk_bulk_enable(num_clks, clks);
^~~~
include/linux/clk.h:555:32: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline int __must_check clk_bulk_enable(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~
include/linux/clk.h:633:32: warning: passing argument 2 of 'clk_bulk_unprepare' from incompatible pointer type [-Wincompatible-pointer-types]
clk_bulk_unprepare(num_clks, clks);
^~~~
include/linux/clk.h:223:20: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline void clk_bulk_unprepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~~~~
include/linux/clk.h: At top level:
include/linux/clk.h:639:19: 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: In function 'clk_bulk_disable_unprepare':
include/linux/clk.h:641:29: warning: passing argument 2 of 'clk_bulk_disable' from incompatible pointer type [-Wincompatible-pointer-types]
clk_bulk_disable(num_clks, clks);
^~~~
include/linux/clk.h:563:20: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline void clk_bulk_disable(int num_clks,
^~~~~~~~~~~~~~~~
include/linux/clk.h:642:31: warning: passing argument 2 of 'clk_bulk_unprepare' from incompatible pointer type [-Wincompatible-pointer-types]
clk_bulk_unprepare(num_clks, clks);
^~~~
include/linux/clk.h:223:20: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline void clk_bulk_unprepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~~~~
In file included from include/uapi/linux/stddef.h:1:0,
from include/linux/stddef.h:4,
from include/uapi/linux/posix_types.h:4,
from include/uapi/linux/types.h:13,
from include/linux/types.h:5,
from include/uapi/linux/sysinfo.h:4,
from include/uapi/linux/kernel.h:4,
from include/linux/cache.h:4,
from include/linux/time.h:4,
from include/linux/videodev2.h:59,
from include/media/v4l2-rect.h:23,
from drivers/staging/media/rkisp1/rkisp1-common.c:8:
include/linux/scatterlist.h: In function 'sg_set_buf':
arch/nios2/include/asm/page.h:90:33: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
# define pfn_valid(pfn) ((pfn) >= ARCH_PFN_OFFSET && \
^
include/linux/compiler.h:182:42: note: in definition of macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
include/linux/scatterlist.h:140:2: note: in expansion of macro 'BUG_ON'
BUG_ON(!virt_addr_valid(buf));
^~~~~~
arch/nios2/include/asm/page.h:94:33: note: in expansion of macro 'pfn_valid'
# define virt_addr_valid(vaddr) pfn_valid(PFN_DOWN(virt_to_phys(vaddr)))
^~~~~~~~~
include/linux/scatterlist.h:140:10: note: in expansion of macro 'virt_addr_valid'
BUG_ON(!virt_addr_valid(buf));
^~~~~~~~~~~~~~~
In file included from drivers/staging/media/rkisp1/rkisp1-common.c:10:0:
drivers/staging/media/rkisp1/rkisp1-common.h: At top level:
>> drivers/staging/media/rkisp1/rkisp1-common.h:145:23: error: array type has incomplete element type 'struct clk_bulk_data'
struct clk_bulk_data clks[RKISP1_MAX_BUS_CLK];
^~~~
--
In file included from drivers/staging/media/rkisp1/rkisp1-dev.c:11:0:
include/linux/clk.h:199:70: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
static inline int __must_check 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:528: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:539: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:546:54: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
static inline void clk_bulk_put(int num_clks, struct clk_bulk_data *clks) {}
^~~~~~~~~~~~~
include/linux/clk.h:555:69: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
static inline int __must_check clk_bulk_enable(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~
include/linux/clk.h:564:16: 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:624:13: 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: In function 'clk_bulk_prepare_enable':
include/linux/clk.h:628:35: warning: passing argument 2 of 'clk_bulk_prepare' from incompatible pointer type [-Wincompatible-pointer-types]
ret = clk_bulk_prepare(num_clks, clks);
^~~~
include/linux/clk.h:199:32: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline int __must_check clk_bulk_prepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~~
include/linux/clk.h:631:34: warning: passing argument 2 of 'clk_bulk_enable' from incompatible pointer type [-Wincompatible-pointer-types]
ret = clk_bulk_enable(num_clks, clks);
^~~~
include/linux/clk.h:555:32: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline int __must_check clk_bulk_enable(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~
include/linux/clk.h:633:32: warning: passing argument 2 of 'clk_bulk_unprepare' from incompatible pointer type [-Wincompatible-pointer-types]
clk_bulk_unprepare(num_clks, clks);
^~~~
include/linux/clk.h:223:20: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline void clk_bulk_unprepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~~~~
include/linux/clk.h: At top level:
include/linux/clk.h:639:19: 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: In function 'clk_bulk_disable_unprepare':
include/linux/clk.h:641:29: warning: passing argument 2 of 'clk_bulk_disable' from incompatible pointer type [-Wincompatible-pointer-types]
clk_bulk_disable(num_clks, clks);
^~~~
include/linux/clk.h:563:20: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline void clk_bulk_disable(int num_clks,
^~~~~~~~~~~~~~~~
include/linux/clk.h:642:31: warning: passing argument 2 of 'clk_bulk_unprepare' from incompatible pointer type [-Wincompatible-pointer-types]
clk_bulk_unprepare(num_clks, clks);
^~~~
include/linux/clk.h:223:20: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline void clk_bulk_unprepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~~~~
In file included from include/linux/err.h:4:0,
from include/linux/clk.h:15,
from drivers/staging/media/rkisp1/rkisp1-dev.c:11:
include/linux/scatterlist.h: In function 'sg_set_buf':
arch/nios2/include/asm/page.h:90:33: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
# define pfn_valid(pfn) ((pfn) >= ARCH_PFN_OFFSET && \
^
include/linux/compiler.h:182:42: note: in definition of macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
include/linux/scatterlist.h:140:2: note: in expansion of macro 'BUG_ON'
BUG_ON(!virt_addr_valid(buf));
^~~~~~
arch/nios2/include/asm/page.h:94:33: note: in expansion of macro 'pfn_valid'
# define virt_addr_valid(vaddr) pfn_valid(PFN_DOWN(virt_to_phys(vaddr)))
^~~~~~~~~
include/linux/scatterlist.h:140:10: note: in expansion of macro 'virt_addr_valid'
BUG_ON(!virt_addr_valid(buf));
^~~~~~~~~~~~~~~
In file included from drivers/staging/media/rkisp1/rkisp1-dev.c:23:0:
drivers/staging/media/rkisp1/rkisp1-common.h: At top level:
>> drivers/staging/media/rkisp1/rkisp1-common.h:145:23: error: array type has incomplete element type 'struct clk_bulk_data'
struct clk_bulk_data clks[RKISP1_MAX_BUS_CLK];
^~~~
drivers/staging/media/rkisp1/rkisp1-dev.c: In function 'rkisp1_create_links':
>> drivers/staging/media/rkisp1/rkisp1-dev.c:109:9: error: implicit declaration of function 'media_create_pad_link'; did you mean 'media_entity_find_link'? [-Werror=implicit-function-declaration]
ret = media_create_pad_link(&sd->entity, source_pad,
^~~~~~~~~~~~~~~~~~~~~
media_entity_find_link
drivers/staging/media/rkisp1/rkisp1-dev.c: In function 'rkisp1_fwnode_parse':
>> drivers/staging/media/rkisp1/rkisp1-dev.c:184:23: error: 'V4L2_MBUS_CSI2_DPHY' undeclared (first use in this function); did you mean 'V4L2_MBUS_CSI2'?
if (vep->bus_type != V4L2_MBUS_CSI2_DPHY) {
^~~~~~~~~~~~~~~~~~~
V4L2_MBUS_CSI2
drivers/staging/media/rkisp1/rkisp1-dev.c:184:23: note: each undeclared identifier is reported only once for each function it appears in
drivers/staging/media/rkisp1/rkisp1-dev.c: In function 'rkisp1_probe':
>> drivers/staging/media/rkisp1/rkisp1-dev.c:404:2: error: implicit declaration of function 'media_device_init'; did you mean 'media_entity_init'? [-Werror=implicit-function-declaration]
media_device_init(&rkisp1->media_dev);
^~~~~~~~~~~~~~~~~
media_entity_init
cc1: some warnings being treated as errors
--
In file included from drivers/staging/media/rkisp1/rkisp1-common.h:14:0,
from drivers/staging/media/rkisp1/rkisp1-isp.c:19:
include/linux/clk.h:199:70: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
static inline int __must_check 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:528: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:539: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:546:54: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
static inline void clk_bulk_put(int num_clks, struct clk_bulk_data *clks) {}
^~~~~~~~~~~~~
include/linux/clk.h:555:69: warning: 'struct clk_bulk_data' declared inside parameter list will not be visible outside of this definition or declaration
static inline int __must_check clk_bulk_enable(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~
include/linux/clk.h:564:16: 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:624:13: 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: In function 'clk_bulk_prepare_enable':
include/linux/clk.h:628:35: warning: passing argument 2 of 'clk_bulk_prepare' from incompatible pointer type [-Wincompatible-pointer-types]
ret = clk_bulk_prepare(num_clks, clks);
^~~~
include/linux/clk.h:199:32: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline int __must_check clk_bulk_prepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~~
include/linux/clk.h:631:34: warning: passing argument 2 of 'clk_bulk_enable' from incompatible pointer type [-Wincompatible-pointer-types]
ret = clk_bulk_enable(num_clks, clks);
^~~~
include/linux/clk.h:555:32: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline int __must_check clk_bulk_enable(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~
include/linux/clk.h:633:32: warning: passing argument 2 of 'clk_bulk_unprepare' from incompatible pointer type [-Wincompatible-pointer-types]
clk_bulk_unprepare(num_clks, clks);
^~~~
include/linux/clk.h:223:20: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline void clk_bulk_unprepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~~~~
include/linux/clk.h: At top level:
include/linux/clk.h:639:19: 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: In function 'clk_bulk_disable_unprepare':
include/linux/clk.h:641:29: warning: passing argument 2 of 'clk_bulk_disable' from incompatible pointer type [-Wincompatible-pointer-types]
clk_bulk_disable(num_clks, clks);
^~~~
include/linux/clk.h:563:20: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline void clk_bulk_disable(int num_clks,
^~~~~~~~~~~~~~~~
include/linux/clk.h:642:31: warning: passing argument 2 of 'clk_bulk_unprepare' from incompatible pointer type [-Wincompatible-pointer-types]
clk_bulk_unprepare(num_clks, clks);
^~~~
include/linux/clk.h:223:20: note: expected 'struct clk_bulk_data *' but argument is of type 'struct clk_bulk_data *'
static inline void clk_bulk_unprepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~~~~
In file included from include/linux/linkage.h:4:0,
from include/linux/kernel.h:6,
from include/linux/iopoll.h:18,
from drivers/staging/media/rkisp1/rkisp1-isp.c:11:
include/linux/scatterlist.h: In function 'sg_set_buf':
arch/nios2/include/asm/page.h:90:33: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
# define pfn_valid(pfn) ((pfn) >= ARCH_PFN_OFFSET && \
^
include/linux/compiler.h:182:42: note: in definition of macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
include/linux/scatterlist.h:140:2: note: in expansion of macro 'BUG_ON'
BUG_ON(!virt_addr_valid(buf));
^~~~~~
arch/nios2/include/asm/page.h:94:33: note: in expansion of macro 'pfn_valid'
# define virt_addr_valid(vaddr) pfn_valid(PFN_DOWN(virt_to_phys(vaddr)))
^~~~~~~~~
include/linux/scatterlist.h:140:10: note: in expansion of macro 'virt_addr_valid'
BUG_ON(!virt_addr_valid(buf));
^~~~~~~~~~~~~~~
In file included from drivers/staging/media/rkisp1/rkisp1-isp.c:19:0:
drivers/staging/media/rkisp1/rkisp1-common.h: At top level:
>> drivers/staging/media/rkisp1/rkisp1-common.h:145:23: error: array type has incomplete element type 'struct clk_bulk_data'
struct clk_bulk_data clks[RKISP1_MAX_BUS_CLK];
^~~~
drivers/staging/media/rkisp1/rkisp1-isp.c: In function 'rkisp1_config_isp':
>> drivers/staging/media/rkisp1/rkisp1-isp.c:309:28: error: 'V4L2_MBUS_CSI2_DPHY' undeclared (first use in this function); did you mean 'V4L2_MBUS_CSI2'?
if (sensor->mbus.type == V4L2_MBUS_CSI2_DPHY) {
^~~~~~~~~~~~~~~~~~~
V4L2_MBUS_CSI2
drivers/staging/media/rkisp1/rkisp1-isp.c:309:28: note: each undeclared identifier is reported only once for each function it appears in
drivers/staging/media/rkisp1/rkisp1-isp.c: In function 'rkisp1_config_path':
drivers/staging/media/rkisp1/rkisp1-isp.c:465:34: error: 'V4L2_MBUS_CSI2_DPHY' undeclared (first use in this function); did you mean 'V4L2_MBUS_CSI2'?
} else if (sensor->mbus.type == V4L2_MBUS_CSI2_DPHY) {
^~~~~~~~~~~~~~~~~~~
V4L2_MBUS_CSI2
drivers/staging/media/rkisp1/rkisp1-isp.c: In function 'rkisp1_isp_start':
drivers/staging/media/rkisp1/rkisp1-isp.c:554:27: error: 'V4L2_MBUS_CSI2_DPHY' undeclared (first use in this function); did you mean 'V4L2_MBUS_CSI2'?
if (sensor->mbus.type == V4L2_MBUS_CSI2_DPHY) {
^~~~~~~~~~~~~~~~~~~
V4L2_MBUS_CSI2
drivers/staging/media/rkisp1/rkisp1-isp.c: In function 'rkisp1_isp_enum_mbus_code':
>> drivers/staging/media/rkisp1/rkisp1-isp.c:606:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (code->index == pos - 1) {
^~
drivers/staging/media/rkisp1/rkisp1-isp.c: In function 'rkisp1_isp_s_stream':
drivers/staging/media/rkisp1/rkisp1-isp.c:949:42: error: 'V4L2_MBUS_CSI2_DPHY' undeclared (first use in this function); did you mean 'V4L2_MBUS_CSI2'?
if (rkisp1->active_sensor->mbus.type != V4L2_MBUS_CSI2_DPHY)
^~~~~~~~~~~~~~~~~~~
V4L2_MBUS_CSI2
drivers/staging/media/rkisp1/rkisp1-isp.c: In function 'rkisp1_isp_register':
>> drivers/staging/media/rkisp1/rkisp1-isp.c:1006:12: error: 'struct media_entity' has no member named 'function'
sd->entity.function = MEDIA_ENT_F_PROC_VIDEO_PIXEL_FORMATTER;
^
>> drivers/staging/media/rkisp1/rkisp1-isp.c:1006:24: error: 'MEDIA_ENT_F_PROC_VIDEO_PIXEL_FORMATTER' undeclared (first use in this function)
sd->entity.function = MEDIA_ENT_F_PROC_VIDEO_PIXEL_FORMATTER;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/staging/media/rkisp1/rkisp1-isp.c:1019:8: error: implicit declaration of function 'media_entity_pads_init'; did you mean 'media_entity_init'? [-Werror=implicit-function-declaration]
ret = media_entity_pads_init(&sd->entity, RKISP1_ISP_PAD_MAX, pads);
^~~~~~~~~~~~~~~~~~~~~~
media_entity_init
cc1: some warnings being treated as errors
vim +145 drivers/staging/media/rkisp1/rkisp1-common.h
133
134 /*
135 * struct rkisp1_device - ISP platform device
136 * @base_addr: base register address
137 * @active_sensor: sensor in-use, set when streaming on
138 * @isp: ISP sub-device
139 */
140 struct rkisp1_device {
141 void __iomem *base_addr;
142 int irq;
143 struct device *dev;
144 unsigned int clk_size;
> 145 struct clk_bulk_data clks[RKISP1_MAX_BUS_CLK];
146 struct v4l2_device v4l2_dev;
147 struct v4l2_ctrl_handler ctrl_handler;
148 struct media_device media_dev;
149 struct v4l2_async_notifier notifier;
150 struct rkisp1_sensor_async *active_sensor;
151 struct rkisp1_isp isp;
152 struct media_pipeline pipe;
153 struct vb2_alloc_ctx *alloc_ctx;
154 struct rkisp1_debug debug;
155 };
156
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 6 months
arch/powerpc/kernel/optprobes.c:34:1: error: unused function 'is_kprobe_ppc_optinsn_slot'
by kernel test robot
Hi Cédric,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 8b12a62a4e3ed4ae99c715034f557eb391d6b196
commit: bb21e1b6c5352d62d866e9236ed427f632cd537b powerpc/optprobes: Make patch_imm64_load_insns() static
date: 7 weeks ago
config: powerpc64-randconfig-r003-20210318 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project fcc1ce00931751ac02498986feb37744e9ace8de)
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
# install powerpc64 cross compiling tool for clang build
# apt-get install binutils-powerpc64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout bb21e1b6c5352d62d866e9236ed427f632cd537b
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> arch/powerpc/kernel/optprobes.c:34:1: error: unused function 'is_kprobe_ppc_optinsn_slot' [-Werror,-Wunused-function]
DEFINE_INSN_CACHE_OPS(ppc_optinsn);
^
include/linux/kprobes.h:306:20: note: expanded from macro 'DEFINE_INSN_CACHE_OPS'
static inline bool is_kprobe_##__name##_slot(unsigned long addr) \
^
<scratch space>:14:1: note: expanded from here
is_kprobe_ppc_optinsn_slot
^
1 error generated.
vim +/is_kprobe_ppc_optinsn_slot +34 arch/powerpc/kernel/optprobes.c
51c9c084399352 Anju T 2017-02-08 20
51c9c084399352 Anju T 2017-02-08 21 #define TMPL_CALL_HDLR_IDX \
51c9c084399352 Anju T 2017-02-08 22 (optprobe_template_call_handler - optprobe_template_entry)
51c9c084399352 Anju T 2017-02-08 23 #define TMPL_EMULATE_IDX \
51c9c084399352 Anju T 2017-02-08 24 (optprobe_template_call_emulate - optprobe_template_entry)
51c9c084399352 Anju T 2017-02-08 25 #define TMPL_RET_IDX \
51c9c084399352 Anju T 2017-02-08 26 (optprobe_template_ret - optprobe_template_entry)
51c9c084399352 Anju T 2017-02-08 27 #define TMPL_OP_IDX \
51c9c084399352 Anju T 2017-02-08 28 (optprobe_template_op_address - optprobe_template_entry)
51c9c084399352 Anju T 2017-02-08 29 #define TMPL_INSN_IDX \
51c9c084399352 Anju T 2017-02-08 30 (optprobe_template_insn - optprobe_template_entry)
51c9c084399352 Anju T 2017-02-08 31 #define TMPL_END_IDX \
51c9c084399352 Anju T 2017-02-08 32 (optprobe_template_end - optprobe_template_entry)
51c9c084399352 Anju T 2017-02-08 33
51c9c084399352 Anju T 2017-02-08 @34 DEFINE_INSN_CACHE_OPS(ppc_optinsn);
51c9c084399352 Anju T 2017-02-08 35
:::::: The code at line 34 was first introduced by commit
:::::: 51c9c0843993528bffc920c54c2121d9e6f8b090 powerpc/kprobes: Implement Optprobes
:::::: TO: Anju T <anju(a)linux.vnet.ibm.com>
:::::: CC: Michael Ellerman <mpe(a)ellerman.id.au>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 6 months