tree:
https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-4.4
head: a321cfdc9afc13deeb29da992f74141226f914c8
commit: dee1850ff865c718860372afc1b2ff90da07abfa [4/216] BACKPORT: clk: Provide bulk
prepare_enable disable_unprepare variants
config: sparc64-randconfig-p002-20210318 (attached as .config)
compiler: sparc64-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 dee1850ff865c718860372afc1b2ff90da07abfa
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-7.5.0 make.cross ARCH=sparc64
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 >>):
In file included from arch/sparc/include/asm/spinlock.h:4:0,
from include/linux/spinlock.h:87,
from include/linux/seqlock.h:35,
from include/linux/time.h:5,
from include/uapi/linux/timex.h:56,
from include/linux/timex.h:56,
from include/linux/sched.h:19,
from arch/sparc/kernel/time_64.c:13:
arch/sparc/include/asm/spinlock_64.h:95:1: error: 'inline' is not at beginning
of declaration [-Werror=old-style-declaration]
static void inline arch_read_lock(arch_rwlock_t *lock)
^~~~~~
arch/sparc/include/asm/spinlock_64.h:118:1: error: 'inline' is not at beginning
of declaration [-Werror=old-style-declaration]
static int inline arch_read_trylock(arch_rwlock_t *lock)
^~~~~~
arch/sparc/include/asm/spinlock_64.h:139:1: error: 'inline' is not at beginning
of declaration [-Werror=old-style-declaration]
static void inline arch_read_unlock(arch_rwlock_t *lock)
^~~~~~
arch/sparc/include/asm/spinlock_64.h:155:1: error: 'inline' is not at beginning
of declaration [-Werror=old-style-declaration]
static void inline arch_write_lock(arch_rwlock_t *lock)
^~~~~~
arch/sparc/include/asm/spinlock_64.h:180:1: error: 'inline' is not at beginning
of declaration [-Werror=old-style-declaration]
static void inline arch_write_unlock(arch_rwlock_t *lock)
^~~~~~
arch/sparc/include/asm/spinlock_64.h:189:1: error: 'inline' is not at beginning
of declaration [-Werror=old-style-declaration]
static int inline arch_write_trylock(arch_rwlock_t *lock)
^~~~~~
In file included from include/linux/cpufreq.h:14:0,
from arch/sparc/kernel/time_64.c:28:
include/linux/clk.h:199:57: error: 'struct clk_bulk_data' declared inside
parameter list will not be visible outside of this definition or declaration [-Werror]
static inline int clk_bulk_prepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~
include/linux/clk.h:223:60: error: 'struct clk_bulk_data' declared inside
parameter list will not be visible outside of this definition or declaration [-Werror]
static inline void clk_bulk_unprepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~
include/linux/clk.h:528:18: error: 'struct clk_bulk_data' declared inside
parameter list will not be visible outside of this definition or declaration [-Werror]
struct clk_bulk_data *clks)
^~~~~~~~~~~~~
include/linux/clk.h:539:16: error: 'struct clk_bulk_data' declared inside
parameter list will not be visible outside of this definition or declaration [-Werror]
struct clk_bulk_data *clks)
^~~~~~~~~~~~~
include/linux/clk.h:546:54: error: 'struct clk_bulk_data' declared inside
parameter list will not be visible outside of this definition or declaration [-Werror]
static inline void clk_bulk_put(int num_clks, struct clk_bulk_data *clks) {}
^~~~~~~~~~~~~
include/linux/clk.h:555:56: error: 'struct clk_bulk_data' declared inside
parameter list will not be visible outside of this definition or declaration [-Werror]
static inline int clk_bulk_enable(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~
include/linux/clk.h:564:16: error: 'struct clk_bulk_data' declared inside
parameter list will not be visible outside of this definition or declaration [-Werror]
struct clk_bulk_data *clks) {}
^~~~~~~~~~~~~
include/linux/clk.h:624:15: error: 'struct clk_bulk_data' declared inside
parameter list will not be visible outside of this definition or declaration [-Werror]
struct clk_bulk_data *clks)
^~~~~~~~~~~~~
include/linux/clk.h: In function 'clk_bulk_prepare_enable':
> include/linux/clk.h:628:35: error: passing argument 2 of
'clk_bulk_prepare' from incompatible pointer type
[-Werror=incompatible-pointer-types]
ret = clk_bulk_prepare(num_clks, clks);
^~~~
include/linux/clk.h:199:19: note: expected 'struct clk_bulk_data *' but
argument is of type 'struct clk_bulk_data *'
static inline int clk_bulk_prepare(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~~
> include/linux/clk.h:631:34: error: passing argument 2 of
'clk_bulk_enable' from incompatible pointer type
[-Werror=incompatible-pointer-types]
ret = clk_bulk_enable(num_clks, clks);
^~~~
include/linux/clk.h:555:19: note: expected 'struct clk_bulk_data *' but
argument is of type 'struct clk_bulk_data *'
static inline int clk_bulk_enable(int num_clks, struct clk_bulk_data *clks)
^~~~~~~~~~~~~~~
> include/linux/clk.h:633:32: error: passing argument 2 of
'clk_bulk_unprepare' from incompatible pointer type
[-Werror=incompatible-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: error: 'struct clk_bulk_data' declared inside
parameter list will not be visible outside of this definition or declaration [-Werror]
struct clk_bulk_data *clks)
^~~~~~~~~~~~~
include/linux/clk.h: In function 'clk_bulk_disable_unprepare':
> include/linux/clk.h:641:29: error: passing argument 2 of
'clk_bulk_disable' from incompatible pointer type
[-Werror=incompatible-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: error: passing argument 2 of 'clk_bulk_unprepare'
from incompatible pointer type [-Werror=incompatible-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)
^~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
vim +/clk_bulk_prepare +628 include/linux/clk.h
622
623 static inline int clk_bulk_prepare_enable(int num_clks,
624 struct clk_bulk_data *clks)
625 {
626 int ret;
627
628 ret = clk_bulk_prepare(num_clks, clks);
629 if (ret)
630 return ret;
631 ret = clk_bulk_enable(num_clks, clks);
632 if (ret)
633 clk_bulk_unprepare(num_clks, clks);
634
635 return ret;
636 }
637
638 static inline void clk_bulk_disable_unprepare(int num_clks,
639 struct clk_bulk_data *clks)
640 {
641 clk_bulk_disable(num_clks, clks);
642 clk_bulk_unprepare(num_clks, clks);
643 }
644
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org