Hi All, Looks like there is compiler issue with nios2 cross compilation toolchain. As per the kernel documentation %pad is the format specifier for dma_addr_t. This toolchain does not like it. Please let me know if I am missing any thing here. The changes I made to fix the issue reported by bot:- ------------------- +++ b/drivers/dma/sh/rz-dmac.c @@ -475,7 +475,7 @@ rz_dmac_prep_dma_memcpy(struct dma_chan *chan, dma_addr_t dest, dma_addr_t src, struct rz_dmac *dmac = to_rz_dmac(chan->device); struct rz_dmac_desc *desc; - dev_dbg(dmac->dev, "%s channel: %d src=0x%llx dst=0x%llx len=%ld\n", + dev_dbg(dmac->dev, "%s channel: %d src=%pad dst=%pad len=%zx\n", __func__, channel->index, src, dest, len); if (list_empty(&channel->ld_free)) compilation logs:- ------------------ dasb(a)ree-du1sdd5:~/dmaengine$ COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 ~/bin/make.cross ARCH=nios2 Compiler will be installed in /data/dasb/0day make --keep-going CONFIG_OF_ALL_DTBS=y CONFIG_DTC=y CROSS_COMPILE=/data/dasb/0day/gcc-10.3.0-nolibc/nios2-linux/bin/nios2-linux- --jobs=48 ARCH=nios2 CALL scripts/atomic/check-atomics.sh CALL scripts/checksyscalls.sh :1515:2: warning: #warning syscall clone3 not implemented [-Wcpp] CHK include/generated/compile.h make[1]: *** No rule to make target 'arch/nios2/boot/dts/""', needed by 'arch/nios2/boot/dts/built-in.a'. make[1]: Target '__build' not remade because of errors. make: *** [Makefile:1842: arch/nios2/boot/dts] Error 2 CC drivers/dma/sh/rz-dmac.o In file included from ./include/linux/printk.h:456, from ./include/asm-generic/bug.h:22, from ./arch/nios2/include/generated/asm/bug.h:1, from ./include/linux/bug.h:5, from ./include/linux/thread_info.h:13, from ./include/asm-generic/current.h:5, from ./arch/nios2/include/generated/asm/current.h:1, from ./include/linux/sched.h:12, from ./include/linux/ratelimit.h:6, from ./include/linux/dev_printk.h:16, from ./include/linux/device.h:15, from ./include/linux/dma-mapping.h:7, from drivers/dma/sh/rz-dmac.c:12: drivers/dma/sh/rz-dmac.c: In function 'rz_dmac_prep_dma_memcpy': drivers/dma/sh/rz-dmac.c:478:21: warning: format '%p' expects argument of type 'void *', but argument 6 has type 'dma_addr_t' {aka 'unsigned int'} [-Wformat=] 478 | dev_dbg(dmac->dev, "%s channel: %d src=%pad dst=%pad len=%zx\n", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./include/linux/dynamic_debug.h:134:15: note: in definition of macro '__dynamic_func_call' 134 | func(&id, ##__VA_ARGS__); \ | ^~~~~~~~~~~ ./include/linux/dynamic_debug.h:166:2: note: in expansion of macro '_dynamic_func_call' 166 | _dynamic_func_call(fmt,__dynamic_dev_dbg, \ | ^~~~~~~~~~~~~~~~~~ ./include/linux/dev_printk.h:123:2: note: in expansion of macro 'dynamic_dev_dbg' 123 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~~~~~~~~~ ./include/linux/dev_printk.h:123:23: note: in expansion of macro 'dev_fmt' 123 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~ drivers/dma/sh/rz-dmac.c:478:2: note: in expansion of macro 'dev_dbg' 478 | dev_dbg(dmac->dev, "%s channel: %d src=%pad dst=%pad len=%zx\n", | ^~~~~~~ drivers/dma/sh/rz-dmac.c:478:42: note: format string is defined here 478 | dev_dbg(dmac->dev, "%s channel: %d src=%pad dst=%pad len=%zx\n", | ~^ | | | void * | %d In file included from ./include/linux/printk.h:456, from ./include/asm-generic/bug.h:22, from ./arch/nios2/include/generated/asm/bug.h:1, from ./include/linux/bug.h:5, from ./include/linux/thread_info.h:13, from ./include/asm-generic/current.h:5, from ./arch/nios2/include/generated/asm/current.h:1, from ./include/linux/sched.h:12, from ./include/linux/ratelimit.h:6, from ./include/linux/dev_printk.h:16, from ./include/linux/device.h:15, from ./include/linux/dma-mapping.h:7, from drivers/dma/sh/rz-dmac.c:12: drivers/dma/sh/rz-dmac.c:478:21: warning: format '%p' expects argument of type 'void *', but argument 7 has type 'dma_addr_t' {aka 'unsigned int'} [-Wformat=] 478 | dev_dbg(dmac->dev, "%s channel: %d src=%pad dst=%pad len=%zx\n", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./include/linux/dynamic_debug.h:134:15: note: in definition of macro '__dynamic_func_call' 134 | func(&id, ##__VA_ARGS__); \ | ^~~~~~~~~~~ ./include/linux/dynamic_debug.h:166:2: note: in expansion of macro '_dynamic_func_call' 166 | _dynamic_func_call(fmt,__dynamic_dev_dbg, \ | ^~~~~~~~~~~~~~~~~~ ./include/linux/dev_printk.h:123:2: note: in expansion of macro 'dynamic_dev_dbg' 123 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~~~~~~~~~ ./include/linux/dev_printk.h:123:23: note: in expansion of macro 'dev_fmt' 123 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~ drivers/dma/sh/rz-dmac.c:478:2: note: in expansion of macro 'dev_dbg' 478 | dev_dbg(dmac->dev, "%s channel: %d src=%pad dst=%pad len=%zx\n", | ^~~~~~~ drivers/dma/sh/rz-dmac.c:478:51: note: format string is defined here 478 | dev_dbg(dmac->dev, "%s channel: %d src=%pad dst=%pad len=%zx\n", | ~^ | | | void * | %d CHK kernel/kheaders_data.tar.xz AR drivers/dma/sh/built-in.a AR drivers/dma/built-in.a AR drivers/built-in.a make: Target '__all' not remade because of errors. Regards, Biju > -----Original Message----- > From: kernel test robot > Sent: 29 July 2021 12:34 > To: Biju Das ; Vinod Koul > Cc: kbuild-all(a)lists.01.org; Biju Das ; > Prabhakar Mahadev Lad ; Chris > Paterson ; Geert Uytterhoeven > ; dmaengine(a)vger.kernel.org; Chris Brandt > ; linux-renesas-soc(a)vger.kernel.org > Subject: Re: [PATCH v5 3/3] drivers: dma: sh: Add DMAC driver for RZ/G2L > SoC > > Hi Biju, > > Thank you for the patch! Perhaps something to improve: > > [auto build test WARNING on vkoul-dmaengine/next] [also build test WARNING > on robh/for-next v5.14-rc3 next-20210728] [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://jpn01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit- > scm.com%2Fdocs%2Fgit-format- > patch&data=04%7C01%7Cbiju.das.jz%40bp.renesas.com%7C542bfff2887f488c2f > ef08d95284c66f%7C53d82571da1947e49cb4625a166a4a2a%7C0%7C0%7C63763155516672 > 5253%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6I > k1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=TJFcD19oJIJ3tWbNwldGo4xy2aaAouJnopP > yZQ2tixo%3D&reserved=0] > > url: > https://jpn01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.c > om%2F0day-ci%2Flinux%2Fcommits%2FBiju-Das%2FAdd-RZ-G2L-DMAC- > support%2F20210729- > 162632&data=04%7C01%7Cbiju.das.jz%40bp.renesas.com%7C542bfff2887f488c2 > fef08d95284c66f%7C53d82571da1947e49cb4625a166a4a2a%7C0%7C0%7C6376315551667 > 25253%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6 > Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=%2Bg8o5Ec95AfQ5n39E6cJ6lnsziARXpVw > g%2BRoQgBYQks%3D&reserved=0 > base: > https://jpn01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit.kern > el.org%2Fpub%2Fscm%2Flinux%2Fkernel%2Fgit%2Fvkoul%2Fdmaengine.git&data > =04%7C01%7Cbiju.das.jz%40bp.renesas.com%7C542bfff2887f488c2fef08d95284c66f > %7C53d82571da1947e49cb4625a166a4a2a%7C0%7C0%7C637631555166725253%7CUnknown > %7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI > 6Mn0%3D%7C1000&sdata=PLRxI4C7cMH0H4QS6Dv045x8zx%2BIlFeb0mV0QLwfNbQ%3D& > amp;reserved=0 next > config: nios2-allyesconfig (attached as .config) > compiler: nios2-linux-gcc (GCC) 10.3.0 > reproduce (this is a W=1 build): > wget > https://jpn01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fraw.gith > ubusercontent.com%2Fintel%2Flkp- > tests%2Fmaster%2Fsbin%2Fmake.cross&data=04%7C01%7Cbiju.das.jz%40bp.ren > esas.com%7C542bfff2887f488c2fef08d95284c66f%7C53d82571da1947e49cb4625a166a > 4a2a%7C0%7C0%7C637631555166725253%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAw > MDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=mRWtzY > YmV9%2B8br%2BnBcClZz1roSj4GAxaesZbrtMNjYw%3D&reserved=0 -O > ~/bin/make.cross > chmod +x ~/bin/make.cross > # > https://jpn01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.c > om%2F0day- > ci%2Flinux%2Fcommit%2Fcfd03e1dedb6793c62ca9acb9642dd314d44ac8e&data=04 > %7C01%7Cbiju.das.jz%40bp.renesas.com%7C542bfff2887f488c2fef08d95284c66f%7C > 53d82571da1947e49cb4625a166a4a2a%7C0%7C0%7C637631555166725253%7CUnknown%7C > TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn > 0%3D%7C1000&sdata=rVtsa8DjyZ4TY2hpwlKz%2F6e3kBSubO6VM58rh8ioiNA%3D& > ;reserved=0 > git remote add linux-review > https://jpn01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.c > om%2F0day- > ci%2Flinux&data=04%7C01%7Cbiju.das.jz%40bp.renesas.com%7C542bfff2887f4 > 88c2fef08d95284c66f%7C53d82571da1947e49cb4625a166a4a2a%7C0%7C0%7C637631555 > 166735210%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJB > TiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Jb9197GDbxvSzKoZHxgDzTAXnLAqPL > 8KrH%2Bp7xJHu1A%3D&reserved=0 > git fetch --no-tags linux-review Biju-Das/Add-RZ-G2L-DMAC- > support/20210729-162632 > git checkout cfd03e1dedb6793c62ca9acb9642dd314d44ac8e > # save the attached .config to linux build tree > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross > ARCH=nios2 > > If you fix the issue, kindly add following tag as appropriate > Reported-by: kernel test robot > > All warnings (new ones prefixed by >>): > > In file included from include/linux/printk.h:456, > from include/asm-generic/bug.h:22, > from ./arch/nios2/include/generated/asm/bug.h:1, > from include/linux/bug.h:5, > from include/linux/thread_info.h:13, > from include/asm-generic/current.h:5, > from ./arch/nios2/include/generated/asm/current.h:1, > from include/linux/sched.h:12, > from include/linux/ratelimit.h:6, > from include/linux/dev_printk.h:16, > from include/linux/device.h:15, > from include/linux/dma-mapping.h:7, > from drivers/dma/sh/rz-dmac.c:12: > drivers/dma/sh/rz-dmac.c: In function 'rz_dmac_prep_dma_memcpy': > >> drivers/dma/sh/rz-dmac.c:478:21: warning: format '%llx' expects > >> argument of type 'long long unsigned int', but argument 6 has type > >> 'dma_addr_t' {aka 'unsigned int'} [-Wformat=] > 478 | dev_dbg(dmac->dev, "%s channel: %d src=0x%llx dst=0x%llx > len=%ld\n", > | > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > include/linux/dynamic_debug.h:134:15: note: in definition of macro > '__dynamic_func_call' > 134 | func(&id, ##__VA_ARGS__); \ > | ^~~~~~~~~~~ > include/linux/dynamic_debug.h:166:2: note: in expansion of macro > '_dynamic_func_call' > 166 | _dynamic_func_call(fmt,__dynamic_dev_dbg, \ > | ^~~~~~~~~~~~~~~~~~ > include/linux/dev_printk.h:123:2: note: in expansion of macro > 'dynamic_dev_dbg' > 123 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__) > | ^~~~~~~~~~~~~~~ > include/linux/dev_printk.h:123:23: note: in expansion of macro > 'dev_fmt' > 123 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__) > | ^~~~~~~ > drivers/dma/sh/rz-dmac.c:478:2: note: in expansion of macro 'dev_dbg' > 478 | dev_dbg(dmac->dev, "%s channel: %d src=0x%llx dst=0x%llx > len=%ld\n", > | ^~~~~~~ > drivers/dma/sh/rz-dmac.c:478:46: note: format string is defined here > 478 | dev_dbg(dmac->dev, "%s channel: %d src=0x%llx dst=0x%llx > len=%ld\n", > | ~~~^ > | | > | long long unsigned > int > | %x > In file included from include/linux/printk.h:456, > from include/asm-generic/bug.h:22, > from ./arch/nios2/include/generated/asm/bug.h:1, > from include/linux/bug.h:5, > from include/linux/thread_info.h:13, > from include/asm-generic/current.h:5, > from ./arch/nios2/include/generated/asm/current.h:1, > from include/linux/sched.h:12, > from include/linux/ratelimit.h:6, > from include/linux/dev_printk.h:16, > from include/linux/device.h:15, > from include/linux/dma-mapping.h:7, > from drivers/dma/sh/rz-dmac.c:12: > drivers/dma/sh/rz-dmac.c:478:21: warning: format '%llx' expects > argument of type 'long long unsigned int', but argument 7 has type > 'dma_addr_t' {aka 'unsigned int'} [-Wformat=] > 478 | dev_dbg(dmac->dev, "%s channel: %d src=0x%llx dst=0x%llx > len=%ld\n", > | > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > include/linux/dynamic_debug.h:134:15: note: in definition of macro > '__dynamic_func_call' > 134 | func(&id, ##__VA_ARGS__); \ > | ^~~~~~~~~~~ > include/linux/dynamic_debug.h:166:2: note: in expansion of macro > '_dynamic_func_call' > 166 | _dynamic_func_call(fmt,__dynamic_dev_dbg, \ > | ^~~~~~~~~~~~~~~~~~ > include/linux/dev_printk.h:123:2: note: in expansion of macro > 'dynamic_dev_dbg' > 123 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__) > | ^~~~~~~~~~~~~~~ > include/linux/dev_printk.h:123:23: note: in expansion of macro > 'dev_fmt' > 123 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__) > | ^~~~~~~ > drivers/dma/sh/rz-dmac.c:478:2: note: in expansion of macro 'dev_dbg' > 478 | dev_dbg(dmac->dev, "%s channel: %d src=0x%llx dst=0x%llx > len=%ld\n", > | ^~~~~~~ > drivers/dma/sh/rz-dmac.c:478:57: note: format string is defined here > 478 | dev_dbg(dmac->dev, "%s channel: %d src=0x%llx dst=0x%llx > len=%ld\n", > | ~~~^ > | | > | long > long unsigned int > | %x > In file included from include/linux/printk.h:456, > from include/asm-generic/bug.h:22, > from ./arch/nios2/include/generated/asm/bug.h:1, > from include/linux/bug.h:5, > from include/linux/thread_info.h:13, > from include/asm-generic/current.h:5, > from ./arch/nios2/include/generated/asm/current.h:1, > from include/linux/sched.h:12, > from include/linux/ratelimit.h:6, > from include/linux/dev_printk.h:16, > from include/linux/device.h:15, > from include/linux/dma-mapping.h:7, > from drivers/dma/sh/rz-dmac.c:12: > >> drivers/dma/sh/rz-dmac.c:478:21: warning: format '%ld' expects > >> argument of type 'long int', but argument 8 has type 'size_t' {aka > >> 'unsigned int'} [-Wformat=] > 478 | dev_dbg(dmac->dev, "%s channel: %d src=0x%llx dst=0x%llx > len=%ld\n", > | > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > include/linux/dynamic_debug.h:134:15: note: in definition of macro > '__dynamic_func_call' > 134 | func(&id, ##__VA_ARGS__); \ > | ^~~~~~~~~~~ > include/linux/dynamic_debug.h:166:2: note: in expansion of macro > '_dynamic_func_call' > 166 | _dynamic_func_call(fmt,__dynamic_dev_dbg, \ > | ^~~~~~~~~~~~~~~~~~ > include/linux/dev_printk.h:123:2: note: in expansion of macro > 'dynamic_dev_dbg' > 123 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__) > | ^~~~~~~~~~~~~~~ > include/linux/dev_printk.h:123:23: note: in expansion of macro > 'dev_fmt' > 123 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__) > | ^~~~~~~ > drivers/dma/sh/rz-dmac.c:478:2: note: in expansion of macro 'dev_dbg' > 478 | dev_dbg(dmac->dev, "%s channel: %d src=0x%llx dst=0x%llx > len=%ld\n", > | ^~~~~~~ > drivers/dma/sh/rz-dmac.c:478:65: note: format string is defined here > 478 | dev_dbg(dmac->dev, "%s channel: %d src=0x%llx dst=0x%llx > len=%ld\n", > | > ~~^ > | > | > | > long int > | > %d > > > vim +478 drivers/dma/sh/rz-dmac.c > > 469 > 470 static struct dma_async_tx_descriptor * > 471 rz_dmac_prep_dma_memcpy(struct dma_chan *chan, dma_addr_t > dest, dma_addr_t src, > 472 size_t len, unsigned long flags) > 473 { > 474 struct rz_dmac_chan *channel = to_rz_dmac_chan(chan); > 475 struct rz_dmac *dmac = to_rz_dmac(chan->device); > 476 struct rz_dmac_desc *desc; > 477 > > 478 dev_dbg(dmac->dev, "%s channel: %d src=0x%llx dst=0x%llx > len=%ld\n", > 479 __func__, channel->index, src, dest, len); > 480 > 481 if (list_empty(&channel->ld_free)) > 482 return NULL; > 483 > 484 desc = list_first_entry(&channel->ld_free, struct > rz_dmac_desc, node); > 485 > 486 desc->type = RZ_DMAC_DESC_MEMCPY; > 487 desc->src = src; > 488 desc->dest = dest; > 489 desc->len = len; > 490 desc->direction = DMA_MEM_TO_MEM; > 491 > 492 list_move_tail(channel->ld_free.next, &channel- > >ld_queue); > 493 return vchan_tx_prep(&channel->vc, &desc->vd, flags); > 494 } > 495 > > --- > 0-DAY CI Kernel Test Service, Intel Corporation > https://jpn01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.01 > .org%2Fhyperkitty%2Flist%2Fkbuild- > all%40lists.01.org&data=04%7C01%7Cbiju.das.jz%40bp.renesas.com%7C542bf > ff2887f488c2fef08d95284c66f%7C53d82571da1947e49cb4625a166a4a2a%7C0%7C0%7C6 > 37631555166735210%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2lu > MzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Iaa%2FyiTehgWr7ygHm6xV > 0xspg7HWa79nPlkqUH0HVj0%3D&reserved=0