Re: [PATCH v2 2/4] fpga: xilinx: reorganize to subdir layout
by kernel test robot
Hi,
I love your patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.13-rc6 next-20210617]
[cannot apply to xlnx/master]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/trix-redhat-com/fpga-reorganize-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 94f0b2d4a1d0c52035aef425da5e022bd2cb1c71
config: arm-randconfig-r011-20210618 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 64720f57bea6a6bf033feef4a5751ab9c0c3b401)
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/0bd65980328487e0974bffd1493b183e2...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review trix-redhat-com/fpga-reorganize-to-subdirs/20210616-231900
git checkout 0bd65980328487e0974bffd1493b183e2e413fbd
# 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 >>):
drivers/fpga/xilinx/xilinx-pr-decoupler.c:37:19: warning: unused function 'xlnx_pr_decouple_read' [-Wunused-function]
static inline u32 xlnx_pr_decouple_read(const struct xlnx_pr_decoupler_data *d,
^
>> drivers/fpga/xilinx/xilinx-pr-decoupler.c:92:34: warning: unused variable 'xlnx_pr_decoupler_of_match' [-Wunused-const-variable]
static const struct of_device_id xlnx_pr_decoupler_of_match[] = {
^
2 warnings generated.
--
>> drivers/fpga/xilinx/xilinx-spi.c:259:34: warning: unused variable 'xlnx_spi_of_match' [-Wunused-const-variable]
static const struct of_device_id xlnx_spi_of_match[] = {
^
1 warning generated.
vim +/xlnx_pr_decoupler_of_match +92 drivers/fpga/xilinx/xilinx-pr-decoupler.c
30a2ac9a8bb5fc drivers/fpga/xilinx-pr-decoupler.c Nava kishore Manne 2021-02-11 91
7e961c12be424c drivers/fpga/xilinx-pr-decoupler.c Moritz Fischer 2017-03-24 @92 static const struct of_device_id xlnx_pr_decoupler_of_match[] = {
30a2ac9a8bb5fc drivers/fpga/xilinx-pr-decoupler.c Nava kishore Manne 2021-02-11 93 { .compatible = "xlnx,pr-decoupler-1.00", .data = &decoupler_config },
30a2ac9a8bb5fc drivers/fpga/xilinx-pr-decoupler.c Nava kishore Manne 2021-02-11 94 { .compatible = "xlnx,pr-decoupler", .data = &decoupler_config },
30a2ac9a8bb5fc drivers/fpga/xilinx-pr-decoupler.c Nava kishore Manne 2021-02-11 95 { .compatible = "xlnx,dfx-axi-shutdown-manager-1.00",
30a2ac9a8bb5fc drivers/fpga/xilinx-pr-decoupler.c Nava kishore Manne 2021-02-11 96 .data = &shutdown_config },
30a2ac9a8bb5fc drivers/fpga/xilinx-pr-decoupler.c Nava kishore Manne 2021-02-11 97 { .compatible = "xlnx,dfx-axi-shutdown-manager",
30a2ac9a8bb5fc drivers/fpga/xilinx-pr-decoupler.c Nava kishore Manne 2021-02-11 98 .data = &shutdown_config },
7e961c12be424c drivers/fpga/xilinx-pr-decoupler.c Moritz Fischer 2017-03-24 99 {},
7e961c12be424c drivers/fpga/xilinx-pr-decoupler.c Moritz Fischer 2017-03-24 100 };
7e961c12be424c drivers/fpga/xilinx-pr-decoupler.c Moritz Fischer 2017-03-24 101 MODULE_DEVICE_TABLE(of, xlnx_pr_decoupler_of_match);
7e961c12be424c drivers/fpga/xilinx-pr-decoupler.c Moritz Fischer 2017-03-24 102
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
[uml:linux-next 8/18] arch/um/include/asm/delay.h:29:16: error: 'struct i2c_algo_bit_data' has no member named 'um_udelay'; did you mean 'udelay'?
by kernel test robot
Hi Johannes,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/rw/uml.git linux-next
head: 80f9733114e8f925b88d8f4e65ee827640ce4253
commit: 68f5d3f3b6543266b29e047cfaf9842333019b4c [8/18] um: add PCI over virtio emulation driver
config: um-allmodconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/rw/uml.git/commit/?id=68f...
git remote add uml https://git.kernel.org/pub/scm/linux/kernel/git/rw/uml.git
git fetch --no-tags uml linux-next
git checkout 68f5d3f3b6543266b29e047cfaf9842333019b4c
# save the attached .config to linux build tree
make W=1 ARCH=um
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 >>):
>> arch/um/drivers/virt-pci.c:803:5: warning: no previous prototype for 'um_pci_init' [-Wmissing-prototypes]
803 | int um_pci_init(void)
| ^~~~~~~~~~~
>> arch/um/drivers/virt-pci.c:877:6: warning: no previous prototype for 'um_pci_exit' [-Wmissing-prototypes]
877 | void um_pci_exit(void)
| ^~~~~~~~~~~
--
drivers/gpio/gpio-amd8111.c: In function 'amd_gpio_init':
>> drivers/gpio/gpio-amd8111.c:211:10: error: implicit declaration of function 'ioport_map'; did you mean 'ioremap'? [-Werror=implicit-function-declaration]
211 | gp.pm = ioport_map(gp.pmbase + PMBASE_OFFSET, PMBASE_SIZE);
| ^~~~~~~~~~
| ioremap
>> drivers/gpio/gpio-amd8111.c:211:8: warning: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
211 | gp.pm = ioport_map(gp.pmbase + PMBASE_OFFSET, PMBASE_SIZE);
| ^
>> drivers/gpio/gpio-amd8111.c:226:3: error: implicit declaration of function 'ioport_unmap' [-Werror=implicit-function-declaration]
226 | ioport_unmap(gp.pm);
| ^~~~~~~~~~~~
cc1: some warnings being treated as errors
--
>> lib/logic_iomem.c:85:15: warning: no previous prototype for 'ioremap' [-Wmissing-prototypes]
85 | void __iomem *ioremap(phys_addr_t offset, size_t size)
| ^~~~~~~
>> lib/logic_iomem.c:151:6: warning: no previous prototype for 'iounmap' [-Wmissing-prototypes]
151 | void iounmap(void __iomem *addr)
| ^~~~~~~
>> lib/logic_iomem.c:179:6: warning: no previous prototype for 'real_raw_writeb' [-Wmissing-prototypes]
179 | void real_raw_write ## op(u ## sz val, volatile void __iomem *addr) \
| ^~~~~~~~~~~~~~
lib/logic_iomem.c:185:1: note: in expansion of macro 'MAKE_FALLBACK'
185 | MAKE_FALLBACK(b, 8);
| ^~~~~~~~~~~~~
>> lib/logic_iomem.c:179:6: warning: no previous prototype for 'real_raw_writew' [-Wmissing-prototypes]
179 | void real_raw_write ## op(u ## sz val, volatile void __iomem *addr) \
| ^~~~~~~~~~~~~~
lib/logic_iomem.c:186:1: note: in expansion of macro 'MAKE_FALLBACK'
186 | MAKE_FALLBACK(w, 16);
| ^~~~~~~~~~~~~
>> lib/logic_iomem.c:179:6: warning: no previous prototype for 'real_raw_writel' [-Wmissing-prototypes]
179 | void real_raw_write ## op(u ## sz val, volatile void __iomem *addr) \
| ^~~~~~~~~~~~~~
lib/logic_iomem.c:187:1: note: in expansion of macro 'MAKE_FALLBACK'
187 | MAKE_FALLBACK(l, 32);
| ^~~~~~~~~~~~~
>> lib/logic_iomem.c:179:6: warning: no previous prototype for 'real_raw_writeq' [-Wmissing-prototypes]
179 | void real_raw_write ## op(u ## sz val, volatile void __iomem *addr) \
| ^~~~~~~~~~~~~~
lib/logic_iomem.c:189:1: note: in expansion of macro 'MAKE_FALLBACK'
189 | MAKE_FALLBACK(q, 64);
| ^~~~~~~~~~~~~
>> lib/logic_iomem.c:216:7: warning: no previous prototype for '__raw_readb' [-Wmissing-prototypes]
216 | u##sz __raw_read ## op(const volatile void __iomem *addr) \
| ^~~~~~~~~~
lib/logic_iomem.c:244:1: note: in expansion of macro 'MAKE_OP'
244 | MAKE_OP(b, 8);
| ^~~~~~~
>> lib/logic_iomem.c:229:6: warning: no previous prototype for '__raw_writeb' [-Wmissing-prototypes]
229 | void __raw_write ## op(u ## sz val, volatile void __iomem *addr) \
| ^~~~~~~~~~~
lib/logic_iomem.c:244:1: note: in expansion of macro 'MAKE_OP'
244 | MAKE_OP(b, 8);
| ^~~~~~~
>> lib/logic_iomem.c:216:7: warning: no previous prototype for '__raw_readw' [-Wmissing-prototypes]
216 | u##sz __raw_read ## op(const volatile void __iomem *addr) \
| ^~~~~~~~~~
lib/logic_iomem.c:245:1: note: in expansion of macro 'MAKE_OP'
245 | MAKE_OP(w, 16);
| ^~~~~~~
>> lib/logic_iomem.c:229:6: warning: no previous prototype for '__raw_writew' [-Wmissing-prototypes]
229 | void __raw_write ## op(u ## sz val, volatile void __iomem *addr) \
| ^~~~~~~~~~~
lib/logic_iomem.c:245:1: note: in expansion of macro 'MAKE_OP'
245 | MAKE_OP(w, 16);
| ^~~~~~~
>> lib/logic_iomem.c:216:7: warning: no previous prototype for '__raw_readl' [-Wmissing-prototypes]
216 | u##sz __raw_read ## op(const volatile void __iomem *addr) \
| ^~~~~~~~~~
lib/logic_iomem.c:246:1: note: in expansion of macro 'MAKE_OP'
246 | MAKE_OP(l, 32);
| ^~~~~~~
>> lib/logic_iomem.c:229:6: warning: no previous prototype for '__raw_writel' [-Wmissing-prototypes]
229 | void __raw_write ## op(u ## sz val, volatile void __iomem *addr) \
| ^~~~~~~~~~~
lib/logic_iomem.c:246:1: note: in expansion of macro 'MAKE_OP'
246 | MAKE_OP(l, 32);
| ^~~~~~~
>> lib/logic_iomem.c:216:7: warning: no previous prototype for '__raw_readq' [-Wmissing-prototypes]
216 | u##sz __raw_read ## op(const volatile void __iomem *addr) \
| ^~~~~~~~~~
lib/logic_iomem.c:248:1: note: in expansion of macro 'MAKE_OP'
248 | MAKE_OP(q, 64);
| ^~~~~~~
>> lib/logic_iomem.c:229:6: warning: no previous prototype for '__raw_writeq' [-Wmissing-prototypes]
229 | void __raw_write ## op(u ## sz val, volatile void __iomem *addr) \
| ^~~~~~~~~~~
lib/logic_iomem.c:248:1: note: in expansion of macro 'MAKE_OP'
248 | MAKE_OP(q, 64);
| ^~~~~~~
>> lib/logic_iomem.c:251:6: warning: no previous prototype for 'memset_io' [-Wmissing-prototypes]
251 | void memset_io(volatile void __iomem *addr, int value, size_t size)
| ^~~~~~~~~
>> lib/logic_iomem.c:273:6: warning: no previous prototype for 'memcpy_fromio' [-Wmissing-prototypes]
273 | void memcpy_fromio(void *buffer, const volatile void __iomem *addr,
| ^~~~~~~~~~~~~
>> lib/logic_iomem.c:297:6: warning: no previous prototype for 'memcpy_toio' [-Wmissing-prototypes]
297 | void memcpy_toio(volatile void __iomem *addr, const void *buffer, size_t size)
| ^~~~~~~~~~~
--
In file included from drivers/dma/idxd/init.c:24:
drivers/dma/idxd/perfmon.h: In function 'event_to_pmu':
>> drivers/dma/idxd/perfmon.h:24:13: error: 'struct perf_event' has no member named 'pmu'
24 | pmu = event->pmu;
| ^~
drivers/dma/idxd/perfmon.h: In function 'event_to_idxd':
drivers/dma/idxd/perfmon.h:35:13: error: 'struct perf_event' has no member named 'pmu'
35 | pmu = event->pmu;
| ^~
drivers/dma/idxd/init.c: In function 'idxd_init_module':
>> drivers/dma/idxd/init.c:748:7: error: implicit declaration of function 'cpu_feature_enabled'; did you mean 'pci_ari_enabled'? [-Werror=implicit-function-declaration]
748 | if (!cpu_feature_enabled(X86_FEATURE_MOVDIR64B)) {
| ^~~~~~~~~~~~~~~~~~~
| pci_ari_enabled
cc1: some warnings being treated as errors
--
drivers/dma/idxd/submit.c: In function 'idxd_submit_desc':
>> drivers/dma/idxd/submit.c:112:3: error: implicit declaration of function 'iosubmit_cmds512' [-Werror=implicit-function-declaration]
112 | iosubmit_cmds512(portal, desc->hw, 1);
| ^~~~~~~~~~~~~~~~
>> drivers/dma/idxd/submit.c:120:8: error: implicit declaration of function 'enqcmds' [-Werror=implicit-function-declaration]
120 | rc = enqcmds(portal, desc->hw);
| ^~~~~~~
cc1: some warnings being treated as errors
--
In file included from drivers/dma/idxd/perfmon.c:7:
drivers/dma/idxd/perfmon.h: In function 'event_to_pmu':
>> drivers/dma/idxd/perfmon.h:24:13: error: 'struct perf_event' has no member named 'pmu'
24 | pmu = event->pmu;
| ^~
drivers/dma/idxd/perfmon.h: In function 'event_to_idxd':
drivers/dma/idxd/perfmon.h:35:13: error: 'struct perf_event' has no member named 'pmu'
35 | pmu = event->pmu;
| ^~
drivers/dma/idxd/perfmon.c: In function 'is_idxd_event':
>> drivers/dma/idxd/perfmon.c:82:32: error: 'struct perf_event' has no member named 'pmu'
82 | return &idxd_pmu->pmu == event->pmu;
| ^~
drivers/dma/idxd/perfmon.c: In function 'perfmon_collect_events':
>> drivers/dma/idxd/perfmon.c:100:26: error: 'struct perf_event' has no member named 'hw'
100 | idxd_pmu->event_list[n]->hw.idx = n;
| ^~
In file included from drivers/dma/idxd/idxd.h:13,
from drivers/dma/idxd/perfmon.c:6:
>> include/linux/perf_event.h:622:13: error: 'struct perf_event' has no member named 'group_leader'
622 | if ((event)->group_leader == (event)) \
| ^~
drivers/dma/idxd/perfmon.c:107:2: note: in expansion of macro 'for_each_sibling_event'
107 | for_each_sibling_event(event, leader) {
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from include/asm-generic/bug.h:20,
from ./arch/um/include/generated/asm/bug.h:1,
from include/linux/bug.h:5,
from include/linux/thread_info.h:12,
from include/asm-generic/current.h:5,
from ./arch/um/include/generated/asm/current.h:1,
from include/linux/sched.h:12,
from include/linux/sched/task.h:10,
from drivers/dma/idxd/perfmon.c:4:
>> include/linux/perf_event.h:623:42: error: 'struct perf_event' has no member named 'sibling_list'
623 | list_for_each_entry((sibling), &(event)->sibling_list, sibling_list)
| ^~
include/linux/kernel.h:703:26: note: in definition of macro 'container_of'
703 | void *__mptr = (void *)(ptr); \
| ^~~
include/linux/list.h:522:2: note: in expansion of macro 'list_entry'
522 | list_entry((ptr)->next, type, member)
| ^~~~~~~~~~
include/linux/list.h:628:13: note: in expansion of macro 'list_first_entry'
628 | for (pos = list_first_entry(head, typeof(*pos), member); \
| ^~~~~~~~~~~~~~~~
include/linux/perf_event.h:623:3: note: in expansion of macro 'list_for_each_entry'
623 | list_for_each_entry((sibling), &(event)->sibling_list, sibling_list)
| ^~~~~~~~~~~~~~~~~~~
drivers/dma/idxd/perfmon.c:107:2: note: in expansion of macro 'for_each_sibling_event'
107 | for_each_sibling_event(event, leader) {
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from <command-line>:
>> include/linux/perf_event.h:623:42: error: 'struct perf_event' has no member named 'sibling_list'
623 | list_for_each_entry((sibling), &(event)->sibling_list, sibling_list)
| ^~
include/linux/compiler_types.h:308:9: note: in definition of macro '__compiletime_assert'
308 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler_types.h:328:2: note: in expansion of macro '_compiletime_assert'
328 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
| ^~~~~~~~~~~~~~~~~~
include/linux/kernel.h:704:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
704 | BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
| ^~~~~~~~~~~~~~~~
include/linux/kernel.h:704:20: note: in expansion of macro '__same_type'
704 | BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
| ^~~~~~~~~~~
include/linux/list.h:511:2: note: in expansion of macro 'container_of'
511 | container_of(ptr, type, member)
| ^~~~~~~~~~~~
include/linux/list.h:522:2: note: in expansion of macro 'list_entry'
522 | list_entry((ptr)->next, type, member)
| ^~~~~~~~~~
include/linux/list.h:628:13: note: in expansion of macro 'list_first_entry'
628 | for (pos = list_first_entry(head, typeof(*pos), member); \
| ^~~~~~~~~~~~~~~~
include/linux/perf_event.h:623:3: note: in expansion of macro 'list_for_each_entry'
623 | list_for_each_entry((sibling), &(event)->sibling_list, sibling_list)
| ^~~~~~~~~~~~~~~~~~~
drivers/dma/idxd/perfmon.c:107:2: note: in expansion of macro 'for_each_sibling_event'
107 | for_each_sibling_event(event, leader) {
| ^~~~~~~~~~~~~~~~~~~~~~
>> include/linux/kernel.h:704:51: error: 'struct perf_event' has no member named 'sibling_list'
704 | BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
| ^~
include/linux/compiler_types.h:308:9: note: in definition of macro '__compiletime_assert'
308 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler_types.h:328:2: note: in expansion of macro '_compiletime_assert'
328 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
| ^~~~~~~~~~~~~~~~~~
include/linux/kernel.h:704:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
704 | BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
| ^~~~~~~~~~~~~~~~
include/linux/kernel.h:704:20: note: in expansion of macro '__same_type'
704 | BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
| ^~~~~~~~~~~
include/linux/list.h:511:2: note: in expansion of macro 'container_of'
511 | container_of(ptr, type, member)
| ^~~~~~~~~~~~
include/linux/list.h:522:2: note: in expansion of macro 'list_entry'
522 | list_entry((ptr)->next, type, member)
| ^~~~~~~~~~
include/linux/list.h:628:13: note: in expansion of macro 'list_first_entry'
628 | for (pos = list_first_entry(head, typeof(*pos), member); \
| ^~~~~~~~~~~~~~~~
include/linux/perf_event.h:623:3: note: in expansion of macro 'list_for_each_entry'
623 | list_for_each_entry((sibling), &(event)->sibling_list, sibling_list)
| ^~~~~~~~~~~~~~~~~~~
drivers/dma/idxd/perfmon.c:107:2: note: in expansion of macro 'for_each_sibling_event'
107 | for_each_sibling_event(event, leader) {
| ^~~~~~~~~~~~~~~~~~~~~~
>> include/linux/perf_event.h:623:42: error: 'struct perf_event' has no member named 'sibling_list'
623 | list_for_each_entry((sibling), &(event)->sibling_list, sibling_list)
| ^~
include/linux/compiler_types.h:308:9: note: in definition of macro '__compiletime_assert'
308 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler_types.h:328:2: note: in expansion of macro '_compiletime_assert'
328 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
| ^~~~~~~~~~~~~~~~~~
include/linux/kernel.h:704:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
704 | BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
| ^~~~~~~~~~~~~~~~
include/linux/kernel.h:705:6: note: in expansion of macro '__same_type'
705 | !__same_type(*(ptr), void), \
| ^~~~~~~~~~~
include/linux/list.h:511:2: note: in expansion of macro 'container_of'
511 | container_of(ptr, type, member)
| ^~~~~~~~~~~~
include/linux/list.h:522:2: note: in expansion of macro 'list_entry'
522 | list_entry((ptr)->next, type, member)
| ^~~~~~~~~~
include/linux/list.h:628:13: note: in expansion of macro 'list_first_entry'
628 | for (pos = list_first_entry(head, typeof(*pos), member); \
| ^~~~~~~~~~~~~~~~
include/linux/perf_event.h:623:3: note: in expansion of macro 'list_for_each_entry'
623 | list_for_each_entry((sibling), &(event)->sibling_list, sibling_list)
| ^~~~~~~~~~~~~~~~~~~
drivers/dma/idxd/perfmon.c:107:2: note: in expansion of macro 'for_each_sibling_event'
107 | for_each_sibling_event(event, leader) {
| ^~~~~~~~~~~~~~~~~~~~~~
>> include/linux/compiler_types.h:140:35: error: 'struct perf_event' has no member named 'sibling_list'
140 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
| ^~~~~~~~~~~~~~~~~~
include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof'
17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
| ^~~~~~~~~~~~~~~~~~~
include/linux/kernel.h:707:21: note: in expansion of macro 'offsetof'
707 | ((type *)(__mptr - offsetof(type, member))); })
| ^~~~~~~~
include/linux/list.h:511:2: note: in expansion of macro 'container_of'
511 | container_of(ptr, type, member)
| ^~~~~~~~~~~~
include/linux/list.h:522:2: note: in expansion of macro 'list_entry'
522 | list_entry((ptr)->next, type, member)
| ^~~~~~~~~~
include/linux/list.h:628:13: note: in expansion of macro 'list_first_entry'
628 | for (pos = list_first_entry(head, typeof(*pos), member); \
| ^~~~~~~~~~~~~~~~
include/linux/perf_event.h:623:3: note: in expansion of macro 'list_for_each_entry'
623 | list_for_each_entry((sibling), &(event)->sibling_list, sibling_list)
| ^~~~~~~~~~~~~~~~~~~
drivers/dma/idxd/perfmon.c:107:2: note: in expansion of macro 'for_each_sibling_event'
107 | for_each_sibling_event(event, leader) {
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/rculist.h:10,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from include/linux/sched/task.h:10,
from drivers/dma/idxd/perfmon.c:4:
>> include/linux/list.h:619:7: error: 'struct perf_event' has no member named 'sibling_list'
619 | (&pos->member == (head))
| ^~
include/linux/list.h:629:8: note: in expansion of macro 'list_entry_is_head'
629 | !list_entry_is_head(pos, head, member); \
| ^~~~~~~~~~~~~~~~~~
include/linux/perf_event.h:623:3: note: in expansion of macro 'list_for_each_entry'
623 | list_for_each_entry((sibling), &(event)->sibling_list, sibling_list)
| ^~~~~~~~~~~~~~~~~~~
drivers/dma/idxd/perfmon.c:107:2: note: in expansion of macro 'for_each_sibling_event'
107 | for_each_sibling_event(event, leader) {
| ^~~~~~~~~~~~~~~~~~~~~~
>> include/linux/perf_event.h:623:42: error: 'struct perf_event' has no member named 'sibling_list'
623 | list_for_each_entry((sibling), &(event)->sibling_list, sibling_list)
| ^~
include/linux/list.h:619:20: note: in definition of macro 'list_entry_is_head'
619 | (&pos->member == (head))
| ^~~~
include/linux/perf_event.h:623:3: note: in expansion of macro 'list_for_each_entry'
623 | list_for_each_entry((sibling), &(event)->sibling_list, sibling_list)
| ^~~~~~~~~~~~~~~~~~~
drivers/dma/idxd/perfmon.c:107:2: note: in expansion of macro 'for_each_sibling_event'
107 | for_each_sibling_event(event, leader) {
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from include/asm-generic/bug.h:20,
from ./arch/um/include/generated/asm/bug.h:1,
from include/linux/bug.h:5,
from include/linux/thread_info.h:12,
from include/asm-generic/current.h:5,
from ./arch/um/include/generated/asm/current.h:1,
from include/linux/sched.h:12,
from include/linux/sched/task.h:10,
from drivers/dma/idxd/perfmon.c:4:
include/linux/list.h:555:18: error: 'struct perf_event' has no member named 'sibling_list'
555 | list_entry((pos)->member.next, typeof(*(pos)), member)
| ^~
include/linux/kernel.h:703:26: note: in definition of macro 'container_of'
703 | void *__mptr = (void *)(ptr); \
| ^~~
include/linux/list.h:555:2: note: in expansion of macro 'list_entry'
555 | list_entry((pos)->member.next, typeof(*(pos)), member)
| ^~~~~~~~~~
include/linux/list.h:630:13: note: in expansion of macro 'list_next_entry'
630 | pos = list_next_entry(pos, member))
| ^~~~~~~~~~~~~~~
include/linux/perf_event.h:623:3: note: in expansion of macro 'list_for_each_entry'
623 | list_for_each_entry((sibling), &(event)->sibling_list, sibling_list)
| ^~~~~~~~~~~~~~~~~~~
drivers/dma/idxd/perfmon.c:107:2: note: in expansion of macro 'for_each_sibling_event'
107 | for_each_sibling_event(event, leader) {
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from <command-line>:
include/linux/list.h:555:18: error: 'struct perf_event' has no member named 'sibling_list'
555 | list_entry((pos)->member.next, typeof(*(pos)), member)
| ^~
include/linux/compiler_types.h:308:9: note: in definition of macro '__compiletime_assert'
308 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler_types.h:328:2: note: in expansion of macro '_compiletime_assert'
328 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
| ^~~~~~~~~~~~~~~~~~
include/linux/kernel.h:704:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
704 | BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
| ^~~~~~~~~~~~~~~~
include/linux/kernel.h:704:20: note: in expansion of macro '__same_type'
704 | BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
| ^~~~~~~~~~~
include/linux/list.h:511:2: note: in expansion of macro 'container_of'
511 | container_of(ptr, type, member)
| ^~~~~~~~~~~~
include/linux/list.h:555:2: note: in expansion of macro 'list_entry'
555 | list_entry((pos)->member.next, typeof(*(pos)), member)
| ^~~~~~~~~~
include/linux/list.h:630:13: note: in expansion of macro 'list_next_entry'
630 | pos = list_next_entry(pos, member))
| ^~~~~~~~~~~~~~~
include/linux/perf_event.h:623:3: note: in expansion of macro 'list_for_each_entry'
623 | list_for_each_entry((sibling), &(event)->sibling_list, sibling_list)
| ^~~~~~~~~~~~~~~~~~~
drivers/dma/idxd/perfmon.c:107:2: note: in expansion of macro 'for_each_sibling_event'
107 | for_each_sibling_event(event, leader) {
| ^~~~~~~~~~~~~~~~~~~~~~
>> include/linux/kernel.h:704:51: error: 'struct perf_event' has no member named 'sibling_list'
704 | BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
| ^~
include/linux/compiler_types.h:308:9: note: in definition of macro '__compiletime_assert'
308 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler_types.h:328:2: note: in expansion of macro '_compiletime_assert'
328 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
| ^~~~~~~~~~~~~~~~~~
include/linux/kernel.h:704:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
704 | BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
| ^~~~~~~~~~~~~~~~
include/linux/kernel.h:704:20: note: in expansion of macro '__same_type'
704 | BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
| ^~~~~~~~~~~
include/linux/list.h:511:2: note: in expansion of macro 'container_of'
511 | container_of(ptr, type, member)
| ^~~~~~~~~~~~
include/linux/list.h:555:2: note: in expansion of macro 'list_entry'
555 | list_entry((pos)->member.next, typeof(*(pos)), member)
| ^~~~~~~~~~
include/linux/list.h:630:13: note: in expansion of macro 'list_next_entry'
630 | pos = list_next_entry(pos, member))
| ^~~~~~~~~~~~~~~
include/linux/perf_event.h:623:3: note: in expansion of macro 'list_for_each_entry'
623 | list_for_each_entry((sibling), &(event)->sibling_list, sibling_list)
| ^~~~~~~~~~~~~~~~~~~
drivers/dma/idxd/perfmon.c:107:2: note: in expansion of macro 'for_each_sibling_event'
107 | for_each_sibling_event(event, leader) {
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/list.h:555:18: error: 'struct perf_event' has no member named 'sibling_list'
555 | list_entry((pos)->member.next, typeof(*(pos)), member)
| ^~
include/linux/compiler_types.h:308:9: note: in definition of macro '__compiletime_assert'
308 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler_types.h:328:2: note: in expansion of macro '_compiletime_assert'
328 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
| ^~~~~~~~~~~~~~~~~~
include/linux/kernel.h:704:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
704 | BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
| ^~~~~~~~~~~~~~~~
include/linux/kernel.h:705:6: note: in expansion of macro '__same_type'
705 | !__same_type(*(ptr), void), \
| ^~~~~~~~~~~
include/linux/list.h:511:2: note: in expansion of macro 'container_of'
511 | container_of(ptr, type, member)
| ^~~~~~~~~~~~
include/linux/list.h:555:2: note: in expansion of macro 'list_entry'
555 | list_entry((pos)->member.next, typeof(*(pos)), member)
| ^~~~~~~~~~
include/linux/list.h:630:13: note: in expansion of macro 'list_next_entry'
630 | pos = list_next_entry(pos, member))
| ^~~~~~~~~~~~~~~
include/linux/perf_event.h:623:3: note: in expansion of macro 'list_for_each_entry'
623 | list_for_each_entry((sibling), &(event)->sibling_list, sibling_list)
| ^~~~~~~~~~~~~~~~~~~
drivers/dma/idxd/perfmon.c:107:2: note: in expansion of macro 'for_each_sibling_event'
107 | for_each_sibling_event(event, leader) {
| ^~~~~~~~~~~~~~~~~~~~~~
>> include/linux/compiler_types.h:140:35: error: 'struct perf_event' has no member named 'sibling_list'
140 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
| ^~~~~~~~~~~~~~~~~~
include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof'
17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
| ^~~~~~~~~~~~~~~~~~~
include/linux/kernel.h:707:21: note: in expansion of macro 'offsetof'
707 | ((type *)(__mptr - offsetof(type, member))); })
| ^~~~~~~~
include/linux/list.h:511:2: note: in expansion of macro 'container_of'
511 | container_of(ptr, type, member)
| ^~~~~~~~~~~~
include/linux/list.h:555:2: note: in expansion of macro 'list_entry'
555 | list_entry((pos)->member.next, typeof(*(pos)), member)
| ^~~~~~~~~~
include/linux/list.h:630:13: note: in expansion of macro 'list_next_entry'
630 | pos = list_next_entry(pos, member))
| ^~~~~~~~~~~~~~~
include/linux/perf_event.h:623:3: note: in expansion of macro 'list_for_each_entry'
623 | list_for_each_entry((sibling), &(event)->sibling_list, sibling_list)
| ^~~~~~~~~~~~~~~~~~~
drivers/dma/idxd/perfmon.c:107:2: note: in expansion of macro 'for_each_sibling_event'
107 | for_each_sibling_event(event, leader) {
| ^~~~~~~~~~~~~~~~~~~~~~
>> drivers/dma/idxd/perfmon.c:109:12: error: 'struct perf_event' has no member named 'state'
109 | event->state <= PERF_EVENT_STATE_OFF)
| ^~
drivers/dma/idxd/perfmon.c:116:26: error: 'struct perf_event' has no member named 'hw'
116 | idxd_pmu->event_list[n]->hw.idx = n;
| ^~
drivers/dma/idxd/perfmon.c: In function 'perfmon_assign_hw_event':
drivers/dma/idxd/perfmon.c:127:36: error: 'struct perf_event' has no member named 'hw'
127 | struct hw_perf_event *hwc = &event->hw;
| ^~
>> drivers/dma/idxd/perfmon.c:129:5: error: 'struct hw_perf_event' has no member named 'idx'
129 | hwc->idx = idx;
| ^~
>> drivers/dma/idxd/perfmon.c:130:5: error: 'struct hw_perf_event' has no member named 'config_base'
130 | hwc->config_base = ioread64(CNTRCFG_REG(idxd, idx));
| ^~
>> drivers/dma/idxd/perfmon.c:131:5: error: 'struct hw_perf_event' has no member named 'event_base'
131 | hwc->event_base = ioread64(CNTRCFG_REG(idxd, idx));
| ^~
drivers/dma/idxd/perfmon.c: In function 'perfmon_validate_group':
>> drivers/dma/idxd/perfmon.c:157:35: error: 'struct perf_event' has no member named 'group_leader'
157 | struct perf_event *leader = event->group_leader;
| ^~
drivers/dma/idxd/perfmon.c: In function 'perfmon_pmu_event_init':
drivers/dma/idxd/perfmon.c:204:7: error: 'struct perf_event' has no member named 'hw'
204 | event->hw.idx = -1;
| ^~
>> drivers/dma/idxd/perfmon.c:206:11: error: 'struct perf_event' has no member named 'attr'
206 | if (event->attr.type != event->pmu->type)
| ^~
drivers/dma/idxd/perfmon.c:206:31: error: 'struct perf_event' has no member named 'pmu'
206 | if (event->attr.type != event->pmu->type)
| ^~
drivers/dma/idxd/perfmon.c:210:11: error: 'struct perf_event' has no member named 'attr'
210 | if (event->attr.sample_period)
| ^~
>> drivers/dma/idxd/perfmon.c:213:11: error: 'struct perf_event' has no member named 'cpu'
213 | if (event->cpu < 0)
| ^~
drivers/dma/idxd/perfmon.c:216:11: error: 'struct perf_event' has no member named 'pmu'
216 | if (event->pmu != &idxd->idxd_pmu->pmu)
| ^~
drivers/dma/idxd/perfmon.c:219:7: error: 'struct perf_event' has no member named 'hw'
219 | event->hw.event_base = ioread64(PERFMON_TABLE_OFFSET(idxd));
| ^~
drivers/dma/idxd/perfmon.c:220:7: error: 'struct perf_event' has no member named 'cpu'
220 | event->cpu = idxd->idxd_pmu->cpu;
| ^~
drivers/dma/idxd/perfmon.c:221:7: error: 'struct perf_event' has no member named 'hw'
221 | event->hw.config = event->attr.config;
| ^~
drivers/dma/idxd/perfmon.c:221:26: error: 'struct perf_event' has no member named 'attr'
221 | event->hw.config = event->attr.config;
| ^~
drivers/dma/idxd/perfmon.c:223:11: error: 'struct perf_event' has no member named 'group_leader'
223 | if (event->group_leader != event)
| ^~
drivers/dma/idxd/perfmon.c: In function 'perfmon_pmu_read_counter':
drivers/dma/idxd/perfmon.c:232:36: error: 'struct perf_event' has no member named 'hw'
232 | struct hw_perf_event *hwc = &event->hw;
| ^~
drivers/dma/idxd/perfmon.c:234:16: error: 'struct hw_perf_event' has no member named 'idx'
234 | int cntr = hwc->idx;
| ^~
drivers/dma/idxd/perfmon.c: In function 'perfmon_pmu_event_update':
drivers/dma/idxd/perfmon.c:246:36: error: 'struct perf_event' has no member named 'hw'
246 | struct hw_perf_event *hwc = &event->hw;
| ^~
In file included from include/asm-generic/local64.h:22,
from ./arch/x86/include/generated/asm/local64.h:1,
from include/linux/u64_stats_sync.h:75,
from include/linux/cgroup-defs.h:20,
from include/linux/cgroup.h:28,
from include/linux/perf_event.h:57,
from drivers/dma/idxd/idxd.h:13,
from drivers/dma/idxd/perfmon.c:6:
drivers/dma/idxd/perfmon.c:249:37: error: 'struct hw_perf_event' has no member named 'prev_count'
249 | prev_raw_count = local64_read(&hwc->prev_count);
| ^~
arch/x86/include/asm/local.h:16:42: note: in definition of macro 'local_read'
16 | #define local_read(l) atomic_long_read(&(l)->a)
| ^
drivers/dma/idxd/perfmon.c:249:20: note: in expansion of macro 'local64_read'
249 | prev_raw_count = local64_read(&hwc->prev_count);
| ^~~~~~~~~~~~
In file included from include/linux/atomic.h:82,
from include/linux/rcupdate.h:25,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from include/linux/sched/task.h:10,
from drivers/dma/idxd/perfmon.c:4:
drivers/dma/idxd/perfmon.c:251:31: error: 'struct hw_perf_event' has no member named 'prev_count'
251 | } while (local64_cmpxchg(&hwc->prev_count, prev_raw_count,
| ^~
include/asm-generic/atomic-instrumented.h:1798:9: note: in definition of macro 'cmpxchg_local'
1798 | typeof(ptr) __ai_ptr = (ptr); \
| ^~~
include/asm-generic/local64.h:45:34: note: in expansion of macro 'local_cmpxchg'
45 | #define local64_cmpxchg(l, o, n) local_cmpxchg((&(l)->a), (o), (n))
| ^~~~~~~~~~~~~
drivers/dma/idxd/perfmon.c:251:11: note: in expansion of macro 'local64_cmpxchg'
251 | } while (local64_cmpxchg(&hwc->prev_count, prev_raw_count,
| ^~~~~~~~~~~~~~~
drivers/dma/idxd/perfmon.c:251:31: error: 'struct hw_perf_event' has no member named 'prev_count'
251 | } while (local64_cmpxchg(&hwc->prev_count, prev_raw_count,
| ^~
include/asm-generic/atomic-instrumented.h:1798:26: note: in definition of macro 'cmpxchg_local'
1798 | typeof(ptr) __ai_ptr = (ptr); \
| ^~~
include/asm-generic/local64.h:45:34: note: in expansion of macro 'local_cmpxchg'
45 | #define local64_cmpxchg(l, o, n) local_cmpxchg((&(l)->a), (o), (n))
| ^~~~~~~~~~~~~
drivers/dma/idxd/perfmon.c:251:11: note: in expansion of macro 'local64_cmpxchg'
251 | } while (local64_cmpxchg(&hwc->prev_count, prev_raw_count,
| ^~~~~~~~~~~~~~~
include/asm-generic/atomic-instrumented.h:1799:43: error: invalid type argument of unary '*' (have 'int')
1799 | instrument_atomic_write(__ai_ptr, sizeof(*__ai_ptr)); \
| ^~~~~~~~~
arch/x86/include/asm/local.h:124:3: note: in expansion of macro 'cmpxchg_local'
124 | (cmpxchg_local(&((l)->a.counter), (o), (n)))
| ^~~~~~~~~~~~~
include/asm-generic/local64.h:45:34: note: in expansion of macro 'local_cmpxchg'
45 | #define local64_cmpxchg(l, o, n) local_cmpxchg((&(l)->a), (o), (n))
| ^~~~~~~~~~~~~
drivers/dma/idxd/perfmon.c:251:11: note: in expansion of macro 'local64_cmpxchg'
251 | } while (local64_cmpxchg(&hwc->prev_count, prev_raw_count,
| ^~~~~~~~~~~~~~~
include/asm-generic/atomic-instrumented.h:1799:26: warning: passing argument 1 of 'instrument_atomic_write' makes pointer from integer without a cast [-Wint-conversion]
1799 | instrument_atomic_write(__ai_ptr, sizeof(*__ai_ptr)); \
| ^~~~~~~~
| |
| int
arch/x86/include/asm/local.h:124:3: note: in expansion of macro 'cmpxchg_local'
124 | (cmpxchg_local(&((l)->a.counter), (o), (n)))
| ^~~~~~~~~~~~~
include/asm-generic/local64.h:45:34: note: in expansion of macro 'local_cmpxchg'
..
vim +29 arch/um/include/asm/delay.h
0bc8fb4dda2b46 Johannes Berg 2020-02-13 18
0bc8fb4dda2b46 Johannes Berg 2020-02-13 19 static inline void um_udelay(unsigned long usecs)
0bc8fb4dda2b46 Johannes Berg 2020-02-13 20 {
0bc8fb4dda2b46 Johannes Berg 2020-02-13 21 if (time_travel_mode == TT_MODE_INFCPU ||
0bc8fb4dda2b46 Johannes Berg 2020-02-13 22 time_travel_mode == TT_MODE_EXTERNAL) {
0bc8fb4dda2b46 Johannes Berg 2020-02-13 23 time_travel_ndelay(1000 * usecs);
0bc8fb4dda2b46 Johannes Berg 2020-02-13 24 return;
0bc8fb4dda2b46 Johannes Berg 2020-02-13 25 }
0bc8fb4dda2b46 Johannes Berg 2020-02-13 26 udelay(usecs);
0bc8fb4dda2b46 Johannes Berg 2020-02-13 27 }
0bc8fb4dda2b46 Johannes Berg 2020-02-13 28 #undef udelay
0bc8fb4dda2b46 Johannes Berg 2020-02-13 @29 #define udelay um_udelay
:::::: The code at line 29 was first introduced by commit
:::::: 0bc8fb4dda2b461491ec567b2333d13897780d8c um: Implement ndelay/udelay in time-travel mode
:::::: TO: Johannes Berg <johannes.berg(a)intel.com>
:::::: CC: Richard Weinberger <richard(a)nod.at>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
drivers/ptp/ptp_clockmatrix.c:2089:12: warning: stack frame size of 17952 bytes in function 'idtcm_probe'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: fd0aa1a4567d0f09e1bfe367a950b004f99ac290
commit: 957ff4278e0db34f56c2bc121fdd6393e4523ef2 ptp: ptp_clockmatrix: use i2c_master_send for i2c write
date: 10 months ago
config: riscv-randconfig-r036-20210618 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 64720f57bea6a6bf033feef4a5751ab9c0c3b401)
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 riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-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 957ff4278e0db34f56c2bc121fdd6393e4523ef2
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv
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/ptp/ptp_clockmatrix.c:2089:12: warning: stack frame size of 17952 bytes in function 'idtcm_probe' [-Wframe-larger-than=]
static int idtcm_probe(struct i2c_client *client,
^
>> drivers/ptp/ptp_clockmatrix.c:703:12: warning: stack frame size of 11328 bytes in function '_idtcm_settime' [-Wframe-larger-than=]
static int _idtcm_settime(struct idtcm_channel *channel,
^
2 warnings generated.
vim +/idtcm_probe +2089 drivers/ptp/ptp_clockmatrix.c
3a6ba7dc779935 Vincent Cheng 2019-10-31 2088
3a6ba7dc779935 Vincent Cheng 2019-10-31 @2089 static int idtcm_probe(struct i2c_client *client,
3a6ba7dc779935 Vincent Cheng 2019-10-31 2090 const struct i2c_device_id *id)
3a6ba7dc779935 Vincent Cheng 2019-10-31 2091 {
3a6ba7dc779935 Vincent Cheng 2019-10-31 2092 struct idtcm *idtcm;
3a6ba7dc779935 Vincent Cheng 2019-10-31 2093 int err;
3a6ba7dc779935 Vincent Cheng 2019-10-31 2094 u8 i;
7ea5fda2b1325e Min Li 2020-07-28 2095 char *fmt = "Failed at %d in line %s with channel output %d!\n";
3a6ba7dc779935 Vincent Cheng 2019-10-31 2096
3a6ba7dc779935 Vincent Cheng 2019-10-31 2097 /* Unused for now */
3a6ba7dc779935 Vincent Cheng 2019-10-31 2098 (void)id;
3a6ba7dc779935 Vincent Cheng 2019-10-31 2099
3a6ba7dc779935 Vincent Cheng 2019-10-31 2100 idtcm = devm_kzalloc(&client->dev, sizeof(struct idtcm), GFP_KERNEL);
3a6ba7dc779935 Vincent Cheng 2019-10-31 2101
3a6ba7dc779935 Vincent Cheng 2019-10-31 2102 if (!idtcm)
3a6ba7dc779935 Vincent Cheng 2019-10-31 2103 return -ENOMEM;
3a6ba7dc779935 Vincent Cheng 2019-10-31 2104
3a6ba7dc779935 Vincent Cheng 2019-10-31 2105 idtcm->client = client;
3a6ba7dc779935 Vincent Cheng 2019-10-31 2106 idtcm->page_offset = 0xff;
3a6ba7dc779935 Vincent Cheng 2019-10-31 2107 idtcm->calculate_overhead_flag = 0;
3a6ba7dc779935 Vincent Cheng 2019-10-31 2108
3a6ba7dc779935 Vincent Cheng 2019-10-31 2109 set_default_masks(idtcm);
3a6ba7dc779935 Vincent Cheng 2019-10-31 2110
3a6ba7dc779935 Vincent Cheng 2019-10-31 2111 mutex_init(&idtcm->reg_lock);
3a6ba7dc779935 Vincent Cheng 2019-10-31 2112 mutex_lock(&idtcm->reg_lock);
3a6ba7dc779935 Vincent Cheng 2019-10-31 2113
3a6ba7dc779935 Vincent Cheng 2019-10-31 2114 idtcm_display_version_info(idtcm);
3a6ba7dc779935 Vincent Cheng 2019-10-31 2115
3a6ba7dc779935 Vincent Cheng 2019-10-31 2116 err = idtcm_load_firmware(idtcm, &client->dev);
3a6ba7dc779935 Vincent Cheng 2019-10-31 2117
3a6ba7dc779935 Vincent Cheng 2019-10-31 2118 if (err)
3a6ba7dc779935 Vincent Cheng 2019-10-31 2119 dev_warn(&idtcm->client->dev,
3a6ba7dc779935 Vincent Cheng 2019-10-31 2120 "loading firmware failed with %d\n", err);
3a6ba7dc779935 Vincent Cheng 2019-10-31 2121
7ea5fda2b1325e Min Li 2020-07-28 2122 if (idtcm->tod_mask) {
7ea5fda2b1325e Min Li 2020-07-28 2123 for (i = 0; i < MAX_TOD; i++) {
7ea5fda2b1325e Min Li 2020-07-28 2124 if (idtcm->tod_mask & (1 << i)) {
3a6ba7dc779935 Vincent Cheng 2019-10-31 2125 err = idtcm_enable_channel(idtcm, i);
7ea5fda2b1325e Min Li 2020-07-28 2126 if (err) {
7ea5fda2b1325e Min Li 2020-07-28 2127 dev_err(&idtcm->client->dev,
7ea5fda2b1325e Min Li 2020-07-28 2128 fmt,
7ea5fda2b1325e Min Li 2020-07-28 2129 __LINE__,
7ea5fda2b1325e Min Li 2020-07-28 2130 __func__,
7ea5fda2b1325e Min Li 2020-07-28 2131 i);
3a6ba7dc779935 Vincent Cheng 2019-10-31 2132 break;
3a6ba7dc779935 Vincent Cheng 2019-10-31 2133 }
3a6ba7dc779935 Vincent Cheng 2019-10-31 2134 }
7ea5fda2b1325e Min Li 2020-07-28 2135 }
3a6ba7dc779935 Vincent Cheng 2019-10-31 2136 } else {
3a6ba7dc779935 Vincent Cheng 2019-10-31 2137 dev_err(&idtcm->client->dev,
3a6ba7dc779935 Vincent Cheng 2019-10-31 2138 "no PLLs flagged as PHCs, nothing to do\n");
3a6ba7dc779935 Vincent Cheng 2019-10-31 2139 err = -ENODEV;
3a6ba7dc779935 Vincent Cheng 2019-10-31 2140 }
3a6ba7dc779935 Vincent Cheng 2019-10-31 2141
3a6ba7dc779935 Vincent Cheng 2019-10-31 2142 mutex_unlock(&idtcm->reg_lock);
3a6ba7dc779935 Vincent Cheng 2019-10-31 2143
3a6ba7dc779935 Vincent Cheng 2019-10-31 2144 if (err) {
3a6ba7dc779935 Vincent Cheng 2019-10-31 2145 ptp_clock_unregister_all(idtcm);
3a6ba7dc779935 Vincent Cheng 2019-10-31 2146 return err;
3a6ba7dc779935 Vincent Cheng 2019-10-31 2147 }
3a6ba7dc779935 Vincent Cheng 2019-10-31 2148
3a6ba7dc779935 Vincent Cheng 2019-10-31 2149 i2c_set_clientdata(client, idtcm);
3a6ba7dc779935 Vincent Cheng 2019-10-31 2150
3a6ba7dc779935 Vincent Cheng 2019-10-31 2151 return 0;
3a6ba7dc779935 Vincent Cheng 2019-10-31 2152 }
3a6ba7dc779935 Vincent Cheng 2019-10-31 2153
:::::: The code at line 2089 was first introduced by commit
:::::: 3a6ba7dc7799355557938fbdc15a558236011429 ptp: Add a ptp clock driver for IDT ClockMatrix.
:::::: TO: Vincent Cheng <vincent.cheng.xh(a)renesas.com>
:::::: CC: David S. Miller <davem(a)davemloft.net>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
Re: [PATCH v5 3/5] media: i2c: add driver for the SK Hynix Hi-846 8M pixel camera
by kernel test robot
Hi Martin,
I love your patch! Yet something to improve:
[auto build test ERROR on linuxtv-media/master]
[also build test ERROR on next-20210617]
[cannot apply to robh/for-next arm64/for-next/core linus/master v5.13-rc6]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Martin-Kepplinger/Add-support-fo...
base: git://linuxtv.org/media_tree.git master
config: powerpc64-randconfig-r002-20210618 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 64720f57bea6a6bf033feef4a5751ab9c0c3b401)
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://github.com/0day-ci/linux/commit/a6a93a98f579077a210a432a360082e43...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Martin-Kepplinger/Add-support-for-the-Hynix-Hi-846-camera/20210616-213802
git checkout a6a93a98f579077a210a432a360082e4382f531a
# 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 error/warnings (new ones prefixed by >>):
In file included from drivers/media/i2c/hi846.c:13:
In file included from include/linux/regulator/consumer.h:35:
In file included from include/linux/suspend.h:5:
In file included from include/linux/swap.h:9:
In file included from include/linux/memcontrol.h:13:
In file included from include/linux/cgroup.h:26:
In file included from include/linux/kernel_stat.h:9:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:11:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:47:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(insl, (unsigned long p, void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:182:1: note: expanded from here
__do_insl
^
arch/powerpc/include/asm/io.h:558:56: note: expanded from macro '__do_insl'
#define __do_insl(p, b, n) readsl((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from drivers/media/i2c/hi846.c:13:
In file included from include/linux/regulator/consumer.h:35:
In file included from include/linux/suspend.h:5:
In file included from include/linux/swap.h:9:
In file included from include/linux/memcontrol.h:13:
In file included from include/linux/cgroup.h:26:
In file included from include/linux/kernel_stat.h:9:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:11:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:49:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(outsb, (unsigned long p, const void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:184:1: note: expanded from here
__do_outsb
^
arch/powerpc/include/asm/io.h:559:58: note: expanded from macro '__do_outsb'
#define __do_outsb(p, b, n) writesb((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from drivers/media/i2c/hi846.c:13:
In file included from include/linux/regulator/consumer.h:35:
In file included from include/linux/suspend.h:5:
In file included from include/linux/swap.h:9:
In file included from include/linux/memcontrol.h:13:
In file included from include/linux/cgroup.h:26:
In file included from include/linux/kernel_stat.h:9:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:11:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:51:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(outsw, (unsigned long p, const void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:186:1: note: expanded from here
__do_outsw
^
arch/powerpc/include/asm/io.h:560:58: note: expanded from macro '__do_outsw'
#define __do_outsw(p, b, n) writesw((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from drivers/media/i2c/hi846.c:13:
In file included from include/linux/regulator/consumer.h:35:
In file included from include/linux/suspend.h:5:
In file included from include/linux/swap.h:9:
In file included from include/linux/memcontrol.h:13:
In file included from include/linux/cgroup.h:26:
In file included from include/linux/kernel_stat.h:9:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:11:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:53:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(outsl, (unsigned long p, const void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:188:1: note: expanded from here
__do_outsl
^
arch/powerpc/include/asm/io.h:561:58: note: expanded from macro '__do_outsl'
#define __do_outsl(p, b, n) writesl((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
~~~~~~~~~~~~~~~~~~~~~^
>> drivers/media/i2c/hi846.c:1489:2: warning: comparison of distinct pointer types ('typeof ((link_freq)) *' (aka 'long long *') and 'uint64_t *' (aka 'unsigned long long *')) [-Wcompare-distinct-pointer-types]
do_div(link_freq, fps);
^~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/div64.h:228:28: note: expanded from macro 'do_div'
(void)(((typeof((n)) *)0) == ((uint64_t *)0)); \
~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~
>> drivers/media/i2c/hi846.c:1491:2: warning: comparison of distinct pointer types ('typeof ((frame_length)) *' (aka 'int *') and 'uint64_t *' (aka 'unsigned long long *')) [-Wcompare-distinct-pointer-types]
do_div(frame_length, HI846_LINE_LENGTH);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/div64.h:228:28: note: expanded from macro 'do_div'
(void)(((typeof((n)) *)0) == ((uint64_t *)0)); \
~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~
>> drivers/media/i2c/hi846.c:1491:2: error: incompatible pointer types passing 'int *' to parameter of type 'uint64_t *' (aka 'unsigned long long *') [-Werror,-Wincompatible-pointer-types]
do_div(frame_length, HI846_LINE_LENGTH);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/div64.h:245:22: note: expanded from macro 'do_div'
__rem = __div64_32(&(n), __base); \
^~~~
include/asm-generic/div64.h:219:38: note: passing argument to parameter 'dividend' here
extern uint32_t __div64_32(uint64_t *dividend, uint32_t divisor);
^
>> drivers/media/i2c/hi846.c:1491:2: warning: shift count >= width of type [-Wshift-count-overflow]
do_div(frame_length, HI846_LINE_LENGTH);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/div64.h:241:25: note: expanded from macro 'do_div'
} else if (likely(((n) >> 32) == 0)) { \
^ ~~
include/linux/compiler.h:77:40: note: expanded from macro 'likely'
# define likely(x) __builtin_expect(!!(x), 1)
^
>> drivers/media/i2c/hi846.c:1529:26: warning: address of 'hi846->cur_mode->reg_list_2lane' will always evaluate to 'true' [-Wpointer-bool-conversion]
if (!&hi846->cur_mode->reg_list_2lane) {
~ ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
>> drivers/media/i2c/hi846.c:1535:26: warning: address of 'hi846->cur_mode->reg_list_4lane' will always evaluate to 'true' [-Wpointer-bool-conversion]
if (!&hi846->cur_mode->reg_list_4lane) {
~ ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
12 warnings and 1 error generated.
vim +1491 drivers/media/i2c/hi846.c
1477
1478 static int hi846_set_video_mode(struct hi846 *hi846, int fps)
1479 {
1480 struct i2c_client *client = v4l2_get_subdevdata(&hi846->sd);
1481 int frame_length;
1482 int ret = 0;
1483 int dummy_lines;
1484 s64 link_freq = hi846_get_link_freq(hi846);
1485
1486 dev_dbg(&client->dev, "%s: link freq: %lld\n", __func__,
1487 hi846_get_link_freq(hi846));
1488
> 1489 do_div(link_freq, fps);
1490 frame_length = link_freq;
> 1491 do_div(frame_length, HI846_LINE_LENGTH);
1492
1493 dummy_lines = (frame_length > hi846->cur_mode->frame_len) ?
1494 (frame_length - hi846->cur_mode->frame_len) : 0;
1495
1496 frame_length = hi846->cur_mode->frame_len + dummy_lines;
1497
1498 dev_dbg(&client->dev, "%s: frame length calculated: %d\n", __func__,
1499 frame_length);
1500
1501 hi846_write_reg_16(hi846, HI846_REG_FLL, frame_length & 0xFFFF, &ret);
1502 hi846_write_reg_16(hi846, HI846_REG_LLP, HI846_LINE_LENGTH & 0xFFFF, &ret);
1503
1504 return ret;
1505 }
1506
1507 static int hi846_start_streaming(struct hi846 *hi846)
1508 {
1509 struct i2c_client *client = v4l2_get_subdevdata(&hi846->sd);
1510 int ret = 0;
1511 u8 val;
1512
1513 if (hi846->nr_lanes == 2)
1514 ret = hi846_write_reg_list(hi846, &hi846_init_regs_list_2lane);
1515 else
1516 ret = hi846_write_reg_list(hi846, &hi846_init_regs_list_4lane);
1517 if (ret) {
1518 dev_err(&client->dev, "failed to set plls: %d\n", ret);
1519 return ret;
1520 }
1521
1522 ret = hi846_write_reg_list(hi846, &hi846->cur_mode->reg_list_config);
1523 if (ret) {
1524 dev_err(&client->dev, "failed to set mode: %d\n", ret);
1525 return ret;
1526 }
1527
1528 if (hi846->nr_lanes == 2) {
> 1529 if (!&hi846->cur_mode->reg_list_2lane) {
1530 dev_err(&client->dev, "2 lanes unsupported for this mode\n");
1531 return -EINVAL;
1532 }
1533 ret = hi846_write_reg_list(hi846, &hi846->cur_mode->reg_list_2lane);
1534 } else {
> 1535 if (!&hi846->cur_mode->reg_list_4lane) {
1536 dev_err(&client->dev, "4 lanes unsupported for this mode\n");
1537 return -EINVAL;
1538 }
1539 ret = hi846_write_reg_list(hi846, &hi846->cur_mode->reg_list_4lane);
1540 }
1541 if (ret) {
1542 dev_err(&client->dev, "failed to set mipi mode: %d\n", ret);
1543 return ret;
1544 }
1545
1546 hi846_set_video_mode(hi846, hi846->cur_mode->fps);
1547
1548 ret = __v4l2_ctrl_handler_setup(hi846->sd.ctrl_handler);
1549 if (ret)
1550 return ret;
1551
1552 /*
1553 * Reading 0x0034 is purely done for debugging reasons: It is not
1554 * documented in the DS but only mentioned once:
1555 * "If 0x0034[2] bit is disabled , Visible pixel width and height is 0."
1556 * So even though that sounds like we won't see anything, we don't
1557 * know more about this, so in that case only inform the user but do
1558 * nothing more.
1559 */
1560 ret = hi846_read_reg(hi846, 0x0034, &val);
1561 if (ret)
1562 return ret;
1563 if (!(val & BIT(2)))
1564 dev_info(&client->dev, "visible pixel width and height is 0\n");
1565
1566 ret = hi846_write_reg(hi846, HI846_REG_MODE_SELECT,
1567 HI846_MODE_STREAMING);
1568 if (ret) {
1569 dev_err(&client->dev, "failed to start stream");
1570 return ret;
1571 }
1572
1573 hi846->streaming = 1;
1574
1575 dev_dbg(&client->dev, "%s: started streaming successfully\n", __func__);
1576
1577 return ret;
1578 }
1579
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
[mcgrof-next:20210427-vfio-pcie-trylock-dev 1/1] drivers/vfio/pci/vfio_pci.c:480:27: error: implicit declaration of function 'pci_dev_trylock'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git 20210427-vfio-pcie-trylock-dev
head: 70d0589eb9f34237c5a891c7751802042188461f
commit: 70d0589eb9f34237c5a891c7751802042188461f [1/1] vfio: use helper to simplify try lock
config: powerpc64-randconfig-r034-20210618 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 64720f57bea6a6bf033feef4a5751ab9c0c3b401)
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/mcgrof/linux-next.git/com...
git remote add mcgrof-next https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git
git fetch --no-tags mcgrof-next 20210427-vfio-pcie-trylock-dev
git checkout 70d0589eb9f34237c5a891c7751802042188461f
# 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 >>):
In file included from drivers/vfio/pci/vfio_pci.c:13:
In file included from include/linux/device.h:15:
In file included from include/linux/dev_printk.h:16:
In file included from include/linux/ratelimit.h:6:
In file included from include/linux/sched.h:12:
In file included from arch/powerpc/include/asm/current.h:13:
In file included from arch/powerpc/include/asm/paca.h:18:
In file included from arch/powerpc/include/asm/mmu.h:147:
In file included from include/linux/bug.h:5:
In file included from arch/powerpc/include/asm/bug.h:109:
In file included from include/asm-generic/bug.h:20:
In file included from include/linux/kernel.h:12:
In file included from include/linux/bitops.h:32:
In file included from arch/powerpc/include/asm/bitops.h:62:
arch/powerpc/include/asm/barrier.h:49:9: warning: '__lwsync' macro redefined [-Wmacro-redefined]
#define __lwsync() __asm__ __volatile__ (stringify_in_c(LWSYNC) : : :"memory")
^
<built-in>:309:9: note: previous definition is here
#define __lwsync __builtin_ppc_lwsync
^
>> drivers/vfio/pci/vfio_pci.c:480:27: error: implicit declaration of function 'pci_dev_trylock' [-Werror,-Wimplicit-function-declaration]
if (vdev->reset_works && pci_dev_trylock(pdev)) {
^
drivers/vfio/pci/vfio_pci.c:480:27: note: did you mean 'inode_trylock'?
include/linux/fs.h:792:19: note: 'inode_trylock' declared here
static inline int inode_trylock(struct inode *inode)
^
>> drivers/vfio/pci/vfio_pci.c:483:3: error: implicit declaration of function 'pci_dev_unlock' [-Werror,-Wimplicit-function-declaration]
pci_dev_unlock(pdev);
^
drivers/vfio/pci/vfio_pci.c:483:3: note: did you mean 'pci_dev_trylock'?
drivers/vfio/pci/vfio_pci.c:480:27: note: 'pci_dev_trylock' declared here
if (vdev->reset_works && pci_dev_trylock(pdev)) {
^
1 warning and 2 errors generated.
vim +/pci_dev_trylock +480 drivers/vfio/pci/vfio_pci.c
399
400 static void vfio_pci_disable(struct vfio_pci_device *vdev)
401 {
402 struct pci_dev *pdev = vdev->pdev;
403 struct vfio_pci_dummy_resource *dummy_res, *tmp;
404 struct vfio_pci_ioeventfd *ioeventfd, *ioeventfd_tmp;
405 int i, bar;
406
407 /* Stop the device from further DMA */
408 pci_clear_master(pdev);
409
410 vfio_pci_set_irqs_ioctl(vdev, VFIO_IRQ_SET_DATA_NONE |
411 VFIO_IRQ_SET_ACTION_TRIGGER,
412 vdev->irq_type, 0, 0, NULL);
413
414 /* Device closed, don't need mutex here */
415 list_for_each_entry_safe(ioeventfd, ioeventfd_tmp,
416 &vdev->ioeventfds_list, next) {
417 vfio_virqfd_disable(&ioeventfd->virqfd);
418 list_del(&ioeventfd->next);
419 kfree(ioeventfd);
420 }
421 vdev->ioeventfds_nr = 0;
422
423 vdev->virq_disabled = false;
424
425 for (i = 0; i < vdev->num_regions; i++)
426 vdev->region[i].ops->release(vdev, &vdev->region[i]);
427
428 vdev->num_regions = 0;
429 kfree(vdev->region);
430 vdev->region = NULL; /* don't krealloc a freed pointer */
431
432 vfio_config_free(vdev);
433
434 for (i = 0; i < PCI_STD_NUM_BARS; i++) {
435 bar = i + PCI_STD_RESOURCES;
436 if (!vdev->barmap[bar])
437 continue;
438 pci_iounmap(pdev, vdev->barmap[bar]);
439 pci_release_selected_regions(pdev, 1 << bar);
440 vdev->barmap[bar] = NULL;
441 }
442
443 list_for_each_entry_safe(dummy_res, tmp,
444 &vdev->dummy_resources_list, res_next) {
445 list_del(&dummy_res->res_next);
446 release_resource(&dummy_res->resource);
447 kfree(dummy_res);
448 }
449
450 vdev->needs_reset = true;
451
452 /*
453 * If we have saved state, restore it. If we can reset the device,
454 * even better. Resetting with current state seems better than
455 * nothing, but saving and restoring current state without reset
456 * is just busy work.
457 */
458 if (pci_load_and_free_saved_state(pdev, &vdev->pci_saved_state)) {
459 pci_info(pdev, "%s: Couldn't reload saved state\n", __func__);
460
461 if (!vdev->reset_works)
462 goto out;
463
464 pci_save_state(pdev);
465 }
466
467 /*
468 * Disable INTx and MSI, presumably to avoid spurious interrupts
469 * during reset. Stolen from pci_reset_function()
470 */
471 pci_write_config_word(pdev, PCI_COMMAND, PCI_COMMAND_INTX_DISABLE);
472
473 /*
474 * Try to get the locks ourselves to prevent a deadlock. The
475 * success of this is dependent on being able to lock the device,
476 * which is not always possible.
477 * We can not use the "try" reset interface here, which will
478 * overwrite the previously restored configuration information.
479 */
> 480 if (vdev->reset_works && pci_dev_trylock(pdev)) {
481 if (!__pci_reset_function_locked(pdev))
482 vdev->needs_reset = false;
> 483 pci_dev_unlock(pdev);
484 }
485
486 pci_restore_state(pdev);
487 out:
488 pci_disable_device(pdev);
489
490 vfio_pci_try_bus_reset(vdev);
491
492 if (!disable_idle_d3)
493 vfio_pci_set_power_state(vdev, PCI_D3hot);
494 }
495
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
drivers/pci/controller/pci-xgene.c:626:34: warning: unused variable 'xgene_pcie_match_table'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: fd0aa1a4567d0f09e1bfe367a950b004f99ac290
commit: 6e5a1fff9096ecd259dedcbbdc812aa90986a40e PCI: Avoid building empty drivers
date: 3 months ago
config: x86_64-randconfig-r035-20210618 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 64720f57bea6a6bf033feef4a5751ab9c0c3b401)
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/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 6e5a1fff9096ecd259dedcbbdc812aa90986a40e
# 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 >>):
>> drivers/pci/controller/pci-xgene.c:626:34: warning: unused variable 'xgene_pcie_match_table' [-Wunused-const-variable]
static const struct of_device_id xgene_pcie_match_table[] = {
^
1 warning generated.
vim +/xgene_pcie_match_table +626 drivers/pci/controller/pci-xgene.c
5f6b6ccdbe1cdf drivers/pci/host/pci-xgene.c Tanmay Inamdar 2014-10-01 625
5f6b6ccdbe1cdf drivers/pci/host/pci-xgene.c Tanmay Inamdar 2014-10-01 @626 static const struct of_device_id xgene_pcie_match_table[] = {
5f6b6ccdbe1cdf drivers/pci/host/pci-xgene.c Tanmay Inamdar 2014-10-01 627 {.compatible = "apm,xgene-pcie",},
5f6b6ccdbe1cdf drivers/pci/host/pci-xgene.c Tanmay Inamdar 2014-10-01 628 {},
5f6b6ccdbe1cdf drivers/pci/host/pci-xgene.c Tanmay Inamdar 2014-10-01 629 };
5f6b6ccdbe1cdf drivers/pci/host/pci-xgene.c Tanmay Inamdar 2014-10-01 630
:::::: The code at line 626 was first introduced by commit
:::::: 5f6b6ccdbe1cdfa5aa4347ec5412509b8995db27 PCI: xgene: Add APM X-Gene PCIe driver
:::::: TO: Tanmay Inamdar <tinamdar(a)apm.com>
:::::: CC: Bjorn Helgaas <bhelgaas(a)google.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
[linux-next:master 6856/7430] hppa64-linux-ld: init/do_mounts.o(.text.unlikely+0x88): cannot reach dump_page
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: ccc252d2e818f6a479441119ad453c3ce7c7c461
commit: 2ada05c3a46dda2e2b065a02307c0c6268d9678f [6856/7430] Merge remote-tracking branch 'asm-generic/master'
config: parisc-randconfig-r012-20210604 (attached as .config)
compiler: hppa64-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/next/linux-next.git/commi...
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout 2ada05c3a46dda2e2b065a02307c0c6268d9678f
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=parisc
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 >>):
hppa64-linux-ld: init/main.o(.init.text+0xb08): cannot reach panic
init/main.o: in function `initcall_blacklist':
(.init.text+0xb08): relocation truncated to fit: R_PARISC_PCREL22F against symbol `panic' defined in .text.unlikely section in kernel/panic.o
hppa64-linux-ld: init/main.o(.init.text+0xcd0): cannot reach rest_init
init/main.o: in function `arch_call_rest_init':
(.init.text+0xcd0): relocation truncated to fit: R_PARISC_PCREL22F against symbol `rest_init' defined in .ref.text section in init/main.o
hppa64-linux-ld: init/main.o(.init.text+0x1154): cannot reach panic
init/main.o: in function `start_kernel':
(.init.text+0x1154): relocation truncated to fit: R_PARISC_PCREL22F against symbol `panic' defined in .text.unlikely section in kernel/panic.o
hppa64-linux-ld: init/main.o(.init.text+0x128c): cannot reach build_all_zonelists
(.init.text+0x128c): relocation truncated to fit: R_PARISC_PCREL22F against symbol `build_all_zonelists' defined in .ref.text section in mm/page_alloc.o
hppa64-linux-ld: init/main.o(.init.text+0x1414): cannot reach unknown
(.init.text+0x1414): relocation truncated to fit: R_PARISC_PCREL22F against `want_init_on_free'
hppa64-linux-ld: init/main.o(.init.text+0x1424): cannot reach unknown
(.init.text+0x1424): relocation truncated to fit: R_PARISC_PCREL22F against `want_init_on_free'
hppa64-linux-ld: init/main.o(.init.text+0x160c): cannot reach profile_init
(.init.text+0x160c): relocation truncated to fit: R_PARISC_PCREL22F against symbol `profile_init' defined in .ref.text section in kernel/profile.o
hppa64-linux-ld: init/main.o(.init.text+0x19c8): cannot reach wait_for_completion
init/main.o: in function `kernel_init_freeable':
(.init.text+0x19c8): relocation truncated to fit: R_PARISC_PCREL22F against symbol `wait_for_completion' defined in .sched.text section in kernel/sched/completion.o
hppa64-linux-ld: init/main.o(.init.text+0x1b44): cannot reach panic
(.init.text+0x1b44): relocation truncated to fit: R_PARISC_PCREL22F against symbol `panic' defined in .text.unlikely section in kernel/panic.o
hppa64-linux-ld: init/main.o(.ref.text+0x1c): cannot reach rcu_scheduler_starting
init/main.o: in function `rest_init':
(.ref.text+0x1c): relocation truncated to fit: R_PARISC_PCREL22F against symbol `rcu_scheduler_starting' defined in .text section in kernel/rcu/tree.o
hppa64-linux-ld: init/main.o(.ref.text+0x40): cannot reach kernel_thread
(.ref.text+0x40): additional relocation overflows omitted from the output
hppa64-linux-ld: init/main.o(.ref.text+0x70): cannot reach find_task_by_pid_ns
hppa64-linux-ld: init/main.o(.ref.text+0xa8): cannot reach set_cpus_allowed_ptr
hppa64-linux-ld: init/main.o(.ref.text+0xb8): cannot reach unknown
hppa64-linux-ld: init/main.o(.ref.text+0xdc): cannot reach kernel_thread
hppa64-linux-ld: init/main.o(.ref.text+0x104): cannot reach find_task_by_pid_ns
hppa64-linux-ld: init/main.o(.ref.text+0x120): cannot reach unknown
hppa64-linux-ld: init/main.o(.ref.text+0x148): cannot reach complete
hppa64-linux-ld: init/main.o(.ref.text+0x168): cannot reach cpu_startup_entry
hppa64-linux-ld: init/main.o(.ref.text+0x1a4): cannot reach unknown
hppa64-linux-ld: init/main.o(.ref.text+0x1b4): cannot reach async_synchronize_full
hppa64-linux-ld: init/main.o(.ref.text+0x1c4): cannot reach kprobe_free_init_mem
hppa64-linux-ld: init/main.o(.ref.text+0x1d4): cannot reach kgdb_free_init_mem
hppa64-linux-ld: init/main.o(.ref.text+0x204): cannot reach rcu_barrier
hppa64-linux-ld: init/main.o(.ref.text+0x214): cannot reach mark_rodata_ro
hppa64-linux-ld: init/main.o(.ref.text+0x234): cannot reach rcu_end_inkernel_boot
hppa64-linux-ld: init/do_mounts.o(.init.text+0x23c): cannot reach unknown
hppa64-linux-ld: init/do_mounts.o(.init.text+0x3e0): cannot reach unknown
hppa64-linux-ld: init/do_mounts.o(.init.text+0x4e0): cannot reach unknown
hppa64-linux-ld: init/do_mounts.o(.init.text+0x520): cannot reach unknown
hppa64-linux-ld: init/do_mounts.o(.init.text+0x608): cannot reach panic
>> hppa64-linux-ld: init/do_mounts.o(.text.unlikely+0x88): cannot reach dump_page
hppa64-linux-ld: init/do_mounts.o(.text.unlikely+0x10c): cannot reach __put_page
hppa64-linux-ld: init/initramfs.o(.init.text+0x7e8): cannot reach unknown
hppa64-linux-ld: init/initramfs.o(.init.text+0xc10): cannot reach unknown
hppa64-linux-ld: init/initramfs.o(.init.text+0xf20): cannot reach unknown
hppa64-linux-ld: init/initramfs.o(.init.text+0x19b4): cannot reach unknown
hppa64-linux-ld: arch/parisc/mm/init.o(.text+0x58): cannot reach _raw_spin_lock
hppa64-linux-ld: arch/parisc/mm/init.o(.text+0xa0): cannot reach _raw_spin_unlock
hppa64-linux-ld: arch/parisc/mm/init.o(.text+0x124): cannot reach _raw_spin_lock
hppa64-linux-ld: arch/parisc/mm/init.o(.text+0x1b8): cannot reach _raw_spin_unlock
hppa64-linux-ld: arch/parisc/mm/init.o(.text+0x200): cannot reach _raw_spin_lock
hppa64-linux-ld: arch/parisc/mm/init.o(.text+0x284): cannot reach _raw_spin_unlock
hppa64-linux-ld: arch/parisc/mm/init.o(.text+0x2dc): cannot reach _raw_spin_lock
hppa64-linux-ld: arch/parisc/mm/init.o(.text+0x310): cannot reach _raw_spin_unlock
hppa64-linux-ld: arch/parisc/mm/init.o(.text+0x334): cannot reach _raw_spin_lock
hppa64-linux-ld: arch/parisc/mm/init.o(.text+0x3bc): cannot reach _raw_spin_unlock
hppa64-linux-ld: arch/parisc/mm/init.o(.init.text+0x7bc): cannot reach panic
hppa64-linux-ld: arch/parisc/mm/init.o(.init.text+0xaa8): cannot reach panic
hppa64-linux-ld: arch/parisc/mm/init.o(.ref.text+0x78): cannot reach unknown
hppa64-linux-ld: arch/parisc/mm/init.o(.ref.text+0xa0): cannot reach unknown
hppa64-linux-ld: arch/parisc/mm/init.o(.ref.text+0xc4): cannot reach unknown
hppa64-linux-ld: arch/parisc/mm/init.o(.ref.text+0xe0): cannot reach __flush_tlb_range
hppa64-linux-ld: arch/parisc/mm/init.o(.ref.text+0xf8): cannot reach flush_kernel_dcache_range_asm
hppa64-linux-ld: arch/parisc/mm/init.o(.ref.text+0x110): cannot reach flush_kernel_icache_range_asm
hppa64-linux-ld: arch/parisc/mm/init.o(.ref.text+0x144): cannot reach pdc_chassis_send_status
hppa64-linux-ld: arch/parisc/kernel/setup.o(.init.text+0x118): cannot reach unknown
hppa64-linux-ld: arch/parisc/kernel/setup.o(.init.text+0x308): cannot reach panic
hppa64-linux-ld: arch/parisc/kernel/setup.o(.init.text+0x4c0): cannot reach panic
hppa64-linux-ld: arch/parisc/kernel/hardware.o(.init.text+0x13c): cannot reach panic
hppa64-linux-ld: arch/parisc/kernel/topology.o(.init.text+0x1a4): cannot reach unknown
hppa64-linux-ld: arch/parisc/kernel/topology.o(.init.text+0x1c0): cannot reach unknown
hppa64-linux-ld: arch/parisc/kernel/topology.o(.init.text+0x1f0): cannot reach unknown
hppa64-linux-ld: arch/parisc/kernel/topology.o(.init.text+0x20c): cannot reach unknown
hppa64-linux-ld: kernel/extable.o(.text+0x204): cannot reach rcu_nmi_enter
hppa64-linux-ld: kernel/extable.o(.text+0x258): cannot reach rcu_nmi_exit
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x6ec): cannot reach warn_bogus_irq_restore
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x79c): cannot reach warn_bogus_irq_restore
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x8ac): cannot reach warn_bogus_irq_restore
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x1108): cannot reach _raw_spin_lock_irq
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x1124): cannot reach _raw_spin_unlock_irq
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x1174): cannot reach _raw_spin_lock_irq
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x1190): cannot reach _raw_spin_unlock_irq
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x1540): cannot reach _raw_spin_lock_irq
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x160c): cannot reach _raw_spin_unlock_irq
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x1c2c): cannot reach _raw_spin_lock_bh
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x1c64): cannot reach _raw_spin_unlock_bh
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x1d84): cannot reach warn_bogus_irq_restore
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x1dd8): cannot reach warn_bogus_irq_restore
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x1f94): cannot reach warn_bogus_irq_restore
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x1fe0): cannot reach warn_bogus_irq_restore
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x22b4): cannot reach warn_bogus_irq_restore
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x22f8): cannot reach warn_bogus_irq_restore
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x256c): cannot reach warn_bogus_irq_restore
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x264c): cannot reach warn_bogus_irq_restore
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x2754): cannot reach mutex_lock
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x280c): cannot reach mutex_unlock
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x28bc): cannot reach warn_bogus_irq_restore
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x2a5c): cannot reach warn_bogus_irq_restore
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x300c): cannot reach mutex_lock
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x3084): cannot reach _raw_spin_lock_bh
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x30b8): cannot reach _raw_spin_unlock_bh
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x3110): cannot reach _raw_spin_lock_irq
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x312c): cannot reach _raw_spin_unlock_irq
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x3168): cannot reach mutex_unlock
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x3540): cannot reach _raw_spin_lock_irq
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x3568): cannot reach _raw_spin_unlock_irq
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x3ea4): cannot reach _raw_spin_lock_irqsave
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x3ed0): cannot reach _raw_spin_unlock_irqrestore
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x3f7c): cannot reach _raw_spin_lock_irq
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x4170): cannot reach _raw_spin_unlock_irq
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x428c): cannot reach _raw_spin_lock_irq
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x43e0): cannot reach _raw_spin_unlock_irq
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x4430): cannot reach _raw_spin_lock_irq
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x4464): cannot reach _raw_spin_unlock_irq
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x4524): cannot reach mutex_unlock
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x4938): cannot reach mutex_unlock
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x4b0c): cannot reach mutex_lock
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x4b28): cannot reach _raw_spin_lock_irq
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x4b5c): cannot reach _raw_spin_unlock_irq
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x4b70): cannot reach mutex_unlock
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x4d9c): cannot reach mutex_lock
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x4db8): cannot reach _raw_spin_lock_irq
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x4df0): cannot reach _raw_spin_unlock_irq
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x4e00): cannot reach mutex_unlock
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x4e84): cannot reach mutex_lock
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x4ea0): cannot reach _raw_spin_lock_irq
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x4f3c): cannot reach _raw_spin_unlock_irq
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x4f4c): cannot reach mutex_unlock
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x52c0): cannot reach _raw_spin_lock_irq
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x535c): cannot reach _raw_spin_unlock_irq
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x5880): cannot reach _raw_spin_lock_irqsave
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x58f8): cannot reach _raw_spin_unlock_irqrestore
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x5d64): cannot reach _raw_spin_lock_irq
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x5e50): cannot reach _raw_spin_unlock_irq
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x5f9c): cannot reach _raw_spin_lock_irq
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x6038): cannot reach _raw_spin_unlock_irq
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x60e0): cannot reach _raw_spin_lock_irq
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x6140): cannot reach _raw_spin_unlock_irq
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x622c): cannot reach _raw_spin_lock_irq
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x6290): cannot reach _raw_spin_unlock_irq
hppa64-linux-ld: kernel/cgroup/cgroup.o(.text+0x67c0): cannot reach _raw_spin_lock_bh
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
[net-next:master 226/269] drivers/net/wwan/iosm/iosm_ipc_mux_codec.c:833:21: sparse: sparse: Using plain integer as NULL pointer
by kernel test robot
Hi Loic,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git master
head: 8fe088bd4fd12f4c8899b51d5bc3daad98767d49
commit: 89212e160b81e778f829b89743570665810e3b13 [226/269] net: wwan: Fix WWAN config symbols
config: i386-allmodconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-341-g8af24329-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git/commit...
git remote add net-next https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git
git fetch --no-tags net-next master
git checkout 89212e160b81e778f829b89743570665810e3b13
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/net/wwan/iosm/iosm_ipc_mux_codec.c:833:21: sparse: sparse: Using plain integer as NULL pointer
vim +833 drivers/net/wwan/iosm/iosm_ipc_mux_codec.c
9413491e20e1ab M Chetan Kumar 2021-06-13 814
9413491e20e1ab M Chetan Kumar 2021-06-13 815 void ipc_mux_ul_encoded_process(struct iosm_mux *ipc_mux, struct sk_buff *skb)
9413491e20e1ab M Chetan Kumar 2021-06-13 816 {
9413491e20e1ab M Chetan Kumar 2021-06-13 817 struct mux_adgh *adgh;
9413491e20e1ab M Chetan Kumar 2021-06-13 818 u16 adgh_len;
9413491e20e1ab M Chetan Kumar 2021-06-13 819
9413491e20e1ab M Chetan Kumar 2021-06-13 820 adgh = (struct mux_adgh *)skb->data;
9413491e20e1ab M Chetan Kumar 2021-06-13 821 adgh_len = le16_to_cpu(adgh->length);
9413491e20e1ab M Chetan Kumar 2021-06-13 822
9413491e20e1ab M Chetan Kumar 2021-06-13 823 if (adgh->signature == cpu_to_le32(MUX_SIG_ADGH) &&
9413491e20e1ab M Chetan Kumar 2021-06-13 824 ipc_mux->ul_flow == MUX_UL)
9413491e20e1ab M Chetan Kumar 2021-06-13 825 ipc_mux->ul_data_pend_bytes = ipc_mux->ul_data_pend_bytes -
9413491e20e1ab M Chetan Kumar 2021-06-13 826 adgh_len;
9413491e20e1ab M Chetan Kumar 2021-06-13 827
9413491e20e1ab M Chetan Kumar 2021-06-13 828 if (ipc_mux->ul_flow == MUX_UL)
9413491e20e1ab M Chetan Kumar 2021-06-13 829 dev_dbg(ipc_mux->dev, "ul_data_pend_bytes: %lld",
9413491e20e1ab M Chetan Kumar 2021-06-13 830 ipc_mux->ul_data_pend_bytes);
9413491e20e1ab M Chetan Kumar 2021-06-13 831
9413491e20e1ab M Chetan Kumar 2021-06-13 832 /* Reset the skb settings. */
9413491e20e1ab M Chetan Kumar 2021-06-13 @833 skb->tail = 0;
9413491e20e1ab M Chetan Kumar 2021-06-13 834 skb->len = 0;
9413491e20e1ab M Chetan Kumar 2021-06-13 835
9413491e20e1ab M Chetan Kumar 2021-06-13 836 /* Add the consumed ADB to the free list. */
9413491e20e1ab M Chetan Kumar 2021-06-13 837 skb_queue_tail((&ipc_mux->ul_adb.free_list), skb);
9413491e20e1ab M Chetan Kumar 2021-06-13 838 }
9413491e20e1ab M Chetan Kumar 2021-06-13 839
:::::: The code at line 833 was first introduced by commit
:::::: 9413491e20e1aba6e471d90c19cc43e523216a4d net: iosm: encode or decode datagram
:::::: TO: M Chetan Kumar <m.chetan.kumar(a)intel.com>
:::::: CC: David S. Miller <davem(a)davemloft.net>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
Re: [PATCH 5/8] ASoC: mediatek: mt8195: add platform driver
by kernel test robot
Hi Trevor,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on asoc/for-next]
[also build test WARNING on spi/for-next sound/for-next v5.13-rc6 next-20210617]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Trevor-Wu/ASoC-mediatek-Add-supp...
base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
config: arc-randconfig-s032-20210618 (attached as .config)
compiler: arceb-elf-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-341-g8af24329-dirty
# https://github.com/0day-ci/linux/commit/417fbb6c45b9d2593ec42fd1c425d40e4...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Trevor-Wu/ASoC-mediatek-Add-support-for-MT8195-SoC/20210617-135036
git checkout 417fbb6c45b9d2593ec42fd1c425d40e46bbd38e
# 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__' W=1 ARCH=arc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> sound/soc/mediatek/common/mtk-afe-fe-dai.c:142:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned char *dma_area @@
sound/soc/mediatek/common/mtk-afe-fe-dai.c:142:37: sparse: expected void volatile [noderef] __iomem *addr
sound/soc/mediatek/common/mtk-afe-fe-dai.c:142:37: sparse: got unsigned char *dma_area
vim +142 sound/soc/mediatek/common/mtk-afe-fe-dai.c
283b612429a279 Garlic Tseng 2016-06-17 118
283b612429a279 Garlic Tseng 2016-06-17 119 int mtk_afe_fe_hw_params(struct snd_pcm_substream *substream,
283b612429a279 Garlic Tseng 2016-06-17 120 struct snd_pcm_hw_params *params,
283b612429a279 Garlic Tseng 2016-06-17 121 struct snd_soc_dai *dai)
283b612429a279 Garlic Tseng 2016-06-17 122 {
0cd08b10ae3b52 Kuninori Morimoto 2020-07-20 123 struct snd_soc_pcm_runtime *rtd = asoc_substream_to_rtd(substream);
e4b31b816c472b Ryder Lee 2018-04-25 124 struct mtk_base_afe *afe = snd_soc_dai_get_drvdata(dai);
c8ac82127c8363 Kuninori Morimoto 2020-03-23 125 int id = asoc_rtd_to_cpu(rtd, 0)->id;
df799b9502edf8 Eason Yen 2019-11-15 126 struct mtk_base_afe_memif *memif = &afe->memif[id];
df799b9502edf8 Eason Yen 2019-11-15 127 int ret;
df799b9502edf8 Eason Yen 2019-11-15 128 unsigned int channels = params_channels(params);
df799b9502edf8 Eason Yen 2019-11-15 129 unsigned int rate = params_rate(params);
df799b9502edf8 Eason Yen 2019-11-15 130 snd_pcm_format_t format = params_format(params);
283b612429a279 Garlic Tseng 2016-06-17 131
df799b9502edf8 Eason Yen 2019-11-15 132 if (afe->request_dram_resource)
df799b9502edf8 Eason Yen 2019-11-15 133 afe->request_dram_resource(afe->dev);
df799b9502edf8 Eason Yen 2019-11-15 134
df799b9502edf8 Eason Yen 2019-11-15 135 dev_dbg(afe->dev, "%s(), %s, ch %d, rate %d, fmt %d, dma_addr %pad, dma_area %p, dma_bytes 0x%zx\n",
df799b9502edf8 Eason Yen 2019-11-15 136 __func__, memif->data->name,
df799b9502edf8 Eason Yen 2019-11-15 137 channels, rate, format,
df799b9502edf8 Eason Yen 2019-11-15 138 &substream->runtime->dma_addr,
df799b9502edf8 Eason Yen 2019-11-15 139 substream->runtime->dma_area,
df799b9502edf8 Eason Yen 2019-11-15 140 substream->runtime->dma_bytes);
df799b9502edf8 Eason Yen 2019-11-15 141
df799b9502edf8 Eason Yen 2019-11-15 @142 memset_io(substream->runtime->dma_area, 0,
df799b9502edf8 Eason Yen 2019-11-15 143 substream->runtime->dma_bytes);
df799b9502edf8 Eason Yen 2019-11-15 144
df799b9502edf8 Eason Yen 2019-11-15 145 /* set addr */
df799b9502edf8 Eason Yen 2019-11-15 146 ret = mtk_memif_set_addr(afe, id,
df799b9502edf8 Eason Yen 2019-11-15 147 substream->runtime->dma_area,
df799b9502edf8 Eason Yen 2019-11-15 148 substream->runtime->dma_addr,
df799b9502edf8 Eason Yen 2019-11-15 149 substream->runtime->dma_bytes);
df799b9502edf8 Eason Yen 2019-11-15 150 if (ret) {
df799b9502edf8 Eason Yen 2019-11-15 151 dev_err(afe->dev, "%s(), error, id %d, set addr, ret %d\n",
df799b9502edf8 Eason Yen 2019-11-15 152 __func__, id, ret);
df799b9502edf8 Eason Yen 2019-11-15 153 return ret;
df799b9502edf8 Eason Yen 2019-11-15 154 }
283b612429a279 Garlic Tseng 2016-06-17 155
283b612429a279 Garlic Tseng 2016-06-17 156 /* set channel */
df799b9502edf8 Eason Yen 2019-11-15 157 ret = mtk_memif_set_channel(afe, id, channels);
df799b9502edf8 Eason Yen 2019-11-15 158 if (ret) {
df799b9502edf8 Eason Yen 2019-11-15 159 dev_err(afe->dev, "%s(), error, id %d, set channel %d, ret %d\n",
df799b9502edf8 Eason Yen 2019-11-15 160 __func__, id, channels, ret);
df799b9502edf8 Eason Yen 2019-11-15 161 return ret;
283b612429a279 Garlic Tseng 2016-06-17 162 }
283b612429a279 Garlic Tseng 2016-06-17 163
283b612429a279 Garlic Tseng 2016-06-17 164 /* set rate */
df799b9502edf8 Eason Yen 2019-11-15 165 ret = mtk_memif_set_rate_substream(substream, id, rate);
df799b9502edf8 Eason Yen 2019-11-15 166 if (ret) {
df799b9502edf8 Eason Yen 2019-11-15 167 dev_err(afe->dev, "%s(), error, id %d, set rate %d, ret %d\n",
df799b9502edf8 Eason Yen 2019-11-15 168 __func__, id, rate, ret);
df799b9502edf8 Eason Yen 2019-11-15 169 return ret;
df799b9502edf8 Eason Yen 2019-11-15 170 }
283b612429a279 Garlic Tseng 2016-06-17 171
df799b9502edf8 Eason Yen 2019-11-15 172 /* set format */
df799b9502edf8 Eason Yen 2019-11-15 173 ret = mtk_memif_set_format(afe, id, format);
df799b9502edf8 Eason Yen 2019-11-15 174 if (ret) {
df799b9502edf8 Eason Yen 2019-11-15 175 dev_err(afe->dev, "%s(), error, id %d, set format %d, ret %d\n",
df799b9502edf8 Eason Yen 2019-11-15 176 __func__, id, format, ret);
df799b9502edf8 Eason Yen 2019-11-15 177 return ret;
df799b9502edf8 Eason Yen 2019-11-15 178 }
283b612429a279 Garlic Tseng 2016-06-17 179
283b612429a279 Garlic Tseng 2016-06-17 180 return 0;
283b612429a279 Garlic Tseng 2016-06-17 181 }
283b612429a279 Garlic Tseng 2016-06-17 182 EXPORT_SYMBOL_GPL(mtk_afe_fe_hw_params);
283b612429a279 Garlic Tseng 2016-06-17 183
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
sound/soc/samsung/aries_wm8994.c:525:34: warning: unused variable 'samsung_wm8994_of_match'
by kernel test robot
Hi Jonathan,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: fd0aa1a4567d0f09e1bfe367a950b004f99ac290
commit: 7a3a7671fa6c7e90aff5f4242add2a40587b85ef ASoC: samsung: Add driver for Aries boards
date: 1 year ago
config: x86_64-randconfig-r006-20210618 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 64720f57bea6a6bf033feef4a5751ab9c0c3b401)
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/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 7a3a7671fa6c7e90aff5f4242add2a40587b85ef
# 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 >>):
>> sound/soc/samsung/aries_wm8994.c:525:34: warning: unused variable 'samsung_wm8994_of_match' [-Wunused-const-variable]
static const struct of_device_id samsung_wm8994_of_match[] = {
^
1 warning generated.
vim +/samsung_wm8994_of_match +525 sound/soc/samsung/aries_wm8994.c
524
> 525 static const struct of_device_id samsung_wm8994_of_match[] = {
526 {
527 .compatible = "samsung,fascinate4g-wm8994",
528 .data = &fascinate4g_variant,
529 },
530 {
531 .compatible = "samsung,aries-wm8994",
532 .data = &aries_variant,
533 },
534 { /* sentinel */ },
535 };
536 MODULE_DEVICE_TABLE(of, samsung_wm8994_of_match);
537
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months