Okay, will be Fix in next version. Thanks a lot. Regards, Wen > -----Original Message----- > From: kbuild test robot [mailto:lkp@xxxxxxxxx] > Sent: 2017年12月26日 2:20 > To: Wen He <wen.he_1@xxxxxxx> > Cc: kbuild-all@xxxxxx; vinod.koul@xxxxxxxxx; Leo Li <leoyang.li@xxxxxxx>; > dmaengine@xxxxxxxxxxxxxxx; Jiafei Pan <jiafei.pan@xxxxxxx>; Jiaheng Fan > <jiaheng.fan@xxxxxxx>; Wen He <wen.he_1@xxxxxxx> > Subject: Re: [PATCH] dmaengine: fsldma: Replace DMA_IN/OUT by > FSL_DMA_IN/OUT > > Hi Wen, > > Thank you for the patch! Yet something to improve: > > [auto build test ERROR on linus/master] > [also build test ERROR on v4.15-rc5 next-20171222] [if your patch is applied > to the wrong git tree, please drop us a note to help improve the system] > > url: > https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith > ub.com%2F0day-ci%2Flinux%2Fcommits%2FWen-He%2Fdmaengine-fsldma-R > eplace-DMA_IN-OUT-by-FSL_DMA_IN-OUT%2F20171226-000718&data=02 > %7C01%7Cwen.he_1%40nxp.com%7Cacb9ecfe003d4333297e08d54bc44543 > %7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C636498228755555 > 067&sdata=Sj4HmFrwHqz1nv5BQDh5ixvBpp3bnsNWc7Q1U8UNyCE%3D&res > erved=0 > config: powerpc-ge_imp3a_defconfig (attached as .config) > compiler: powerpc-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 > reproduce: > wget > https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fraw. > githubusercontent.com%2Fintel%2Flkp-tests%2Fmaster%2Fsbin%2Fmake.cro > ss&data=02%7C01%7Cwen.he_1%40nxp.com%7Cacb9ecfe003d4333297e08 > d54bc44543%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C63649 > 8228755555067&sdata=d8quLju7DNVtJkNGr4wodB5WeKeOgp5YdeTjL99iKls > %3D&reserved=0 -O ~/bin/make.cross > chmod +x ~/bin/make.cross > # save the attached .config to linux build tree > make.cross ARCH=powerpc > > All error/warnings (new ones prefixed by >>): > > In file included from drivers/dma/fsldma.c:41:0: > >> drivers/dma/fsldma.h:229:13: error: conflicting types for 'ioread32' > static void ioread32(const u32 __iomem *addr) > ^~~~~~~~ > In file included from arch/powerpc/include/asm/io.h:36:0, > from include/linux/io.h:25, > from include/linux/irq.h:25, > from arch/powerpc/include/asm/hardirq.h:6, > from include/linux/hardirq.h:9, > from include/linux/interrupt.h:13, > from include/linux/pci.h:32, > from drivers/dma/fsldma.c:29: > include/asm-generic/iomap.h:32:21: note: previous declaration of > 'ioread32' was here > extern unsigned int ioread32(void __iomem *); > ^~~~~~~~ > In file included from drivers/dma/fsldma.c:41:0: > drivers/dma/fsldma.h: In function 'ioread32': > >> drivers/dma/fsldma.h:231:9: warning: 'return' with a value, in > >> function returning void > return in_le32(addr); > ^~~~~~~~~~~~~ > drivers/dma/fsldma.h:229:13: note: declared here > static void ioread32(const u32 __iomem *addr) > ^~~~~~~~ > drivers/dma/fsldma.h: At top level: > >> drivers/dma/fsldma.h:234:13: error: conflicting types for 'iowrite32' > static void iowrite32(u32 __iomem *addr, u32 val) > ^~~~~~~~~ > In file included from arch/powerpc/include/asm/io.h:36:0, > from include/linux/io.h:25, > from include/linux/irq.h:25, > from arch/powerpc/include/asm/hardirq.h:6, > from include/linux/hardirq.h:9, > from include/linux/interrupt.h:13, > from include/linux/pci.h:32, > from drivers/dma/fsldma.c:29: > include/asm-generic/iomap.h:42:13: note: previous declaration of > 'iowrite32' was here > extern void iowrite32(u32, void __iomem *); > ^~~~~~~~~ > In file included from drivers/dma/fsldma.c:41:0: > >> drivers/dma/fsldma.h:239:13: error: conflicting types for 'ioread32be' > static void ioread32be(const u32 __iomem *addr) > ^~~~~~~~~~ > In file included from arch/powerpc/include/asm/io.h:36:0, > from include/linux/io.h:25, > from include/linux/irq.h:25, > from arch/powerpc/include/asm/hardirq.h:6, > from include/linux/hardirq.h:9, > from include/linux/interrupt.h:13, > from include/linux/pci.h:32, > from drivers/dma/fsldma.c:29: > include/asm-generic/iomap.h:33:21: note: previous declaration of > 'ioread32be' was here > extern unsigned int ioread32be(void __iomem *); > ^~~~~~~~~~ > In file included from drivers/dma/fsldma.c:41:0: > drivers/dma/fsldma.h: In function 'ioread32be': > drivers/dma/fsldma.h:241:9: warning: 'return' with a value, in function > returning void > return in_be32(addr); > ^~~~~~~~~~~~~ > drivers/dma/fsldma.h:239:13: note: declared here > static void ioread32be(const u32 __iomem *addr) > ^~~~~~~~~~ > drivers/dma/fsldma.h: At top level: > >> drivers/dma/fsldma.h:244:13: error: conflicting types for 'iowrite32be' > static void iowrite32be(u32 __iomem *addr, u32 val) > ^~~~~~~~~~~ > In file included from arch/powerpc/include/asm/io.h:36:0, > from include/linux/io.h:25, > from include/linux/irq.h:25, > from arch/powerpc/include/asm/hardirq.h:6, > from include/linux/hardirq.h:9, > from include/linux/interrupt.h:13, > from include/linux/pci.h:32, > from drivers/dma/fsldma.c:29: > include/asm-generic/iomap.h:43:13: note: previous declaration of > 'iowrite32be' was here > extern void iowrite32be(u32, void __iomem *); > ^~~~~~~~~~~ > In file included from drivers/dma/fsldma.c:41:0: > drivers/dma/fsldma.c: In function 'set_sr': > >> drivers/dma/fsldma.c:56:37: warning: passing argument 1 of > >> 'iowrite32be' makes pointer from integer without a cast > >> [-Wint-conversion] > FSL_DMA_OUT(chan, &chan->regs->sr, val, 32); > ^ > drivers/dma/fsldma.h:256:23: note: in definition of macro > 'FSL_DMA_OUT' > iowrite##width##be(val, addr) : iowrite##width \ > ^~~ > drivers/dma/fsldma.h:244:13: note: expected 'u32 * {aka unsigned int *}' > but argument is of type 'u32 {aka unsigned int}' > static void iowrite32be(u32 __iomem *addr, u32 val) > ^~~~~~~~~~~ > >> drivers/dma/fsldma.c:56:20: warning: passing argument 2 of > >> 'iowrite32be' makes integer from pointer without a cast > >> [-Wint-conversion] > FSL_DMA_OUT(chan, &chan->regs->sr, val, 32); > ^ > drivers/dma/fsldma.h:256:28: note: in definition of macro > 'FSL_DMA_OUT' > iowrite##width##be(val, addr) : iowrite##width \ > ^~~~ > drivers/dma/fsldma.h:244:13: note: expected 'u32 {aka unsigned int}' but > argument is of type 'u32 * {aka unsigned int *}' > static void iowrite32be(u32 __iomem *addr, u32 val) > ^~~~~~~~~~~ > >> drivers/dma/fsldma.c:56:37: warning: passing argument 1 of > >> 'iowrite32' makes pointer from integer without a cast > >> [-Wint-conversion] > FSL_DMA_OUT(chan, &chan->regs->sr, val, 32); > ^ > drivers/dma/fsldma.h:257:5: note: in definition of macro 'FSL_DMA_OUT' > (val, addr)) > ^~~ > drivers/dma/fsldma.h:234:13: note: expected 'u32 * {aka unsigned int *}' > but argument is of type 'u32 {aka unsigned int}' > static void iowrite32(u32 __iomem *addr, u32 val) > ^~~~~~~~~ > >> drivers/dma/fsldma.c:56:20: warning: passing argument 2 of > >> 'iowrite32' makes integer from pointer without a cast > >> [-Wint-conversion] > FSL_DMA_OUT(chan, &chan->regs->sr, val, 32); > ^ > drivers/dma/fsldma.h:257:10: note: in definition of macro > 'FSL_DMA_OUT' > (val, addr)) > ^~~~ > drivers/dma/fsldma.h:234:13: note: expected 'u32 {aka unsigned int}' but > argument is of type 'u32 * {aka unsigned int *}' > static void iowrite32(u32 __iomem *addr, u32 val) > ^~~~~~~~~ > drivers/dma/fsldma.c: In function 'get_sr': > >> drivers/dma/fsldma.h:252:28: error: void value not ignored as it > >> ought to be > (((fsl_dma)->feature & FSL_DMA_BIG_ENDIAN) ? \ > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ioread##width##be(addr) : ioread##width(addr)) > ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ > >> drivers/dma/fsldma.c:61:9: note: in expansion of macro 'FSL_DMA_IN' > return FSL_DMA_IN(chan, &chan->regs->sr, 32); > ^~~~~~~~~~ > drivers/dma/fsldma.c: In function 'set_mr': > drivers/dma/fsldma.c:66:37: warning: passing argument 1 of > 'iowrite32be' makes pointer from integer without a cast [-Wint-conversion] > FSL_DMA_OUT(chan, &chan->regs->mr, val, 32); > ^ > drivers/dma/fsldma.h:256:23: note: in definition of macro > 'FSL_DMA_OUT' > iowrite##width##be(val, addr) : iowrite##width \ > ^~~ > drivers/dma/fsldma.h:244:13: note: expected 'u32 * {aka unsigned int *}' > but argument is of type 'u32 {aka unsigned int}' > static void iowrite32be(u32 __iomem *addr, u32 val) > ^~~~~~~~~~~ > drivers/dma/fsldma.c:66:20: warning: passing argument 2 of > 'iowrite32be' makes integer from pointer without a cast [-Wint-conversion] > FSL_DMA_OUT(chan, &chan->regs->mr, val, 32); > ^ > drivers/dma/fsldma.h:256:28: note: in definition of macro > 'FSL_DMA_OUT' > iowrite##width##be(val, addr) : iowrite##width \ > ^~~~ > drivers/dma/fsldma.h:244:13: note: expected 'u32 {aka unsigned int}' but > argument is of type 'u32 * {aka unsigned int *}' > static void iowrite32be(u32 __iomem *addr, u32 val) > ^~~~~~~~~~~ > drivers/dma/fsldma.c:66:37: warning: passing argument 1 of 'iowrite32' > makes pointer from integer without a cast [-Wint-conversion] > FSL_DMA_OUT(chan, &chan->regs->mr, val, 32); > ^ > drivers/dma/fsldma.h:257:5: note: in definition of macro 'FSL_DMA_OUT' > (val, addr)) > ^~~ > drivers/dma/fsldma.h:234:13: note: expected 'u32 * {aka unsigned int *}' > but argument is of type 'u32 {aka unsigned int}' > static void iowrite32(u32 __iomem *addr, u32 val) > ^~~~~~~~~ > drivers/dma/fsldma.c:66:20: warning: passing argument 2 of 'iowrite32' > makes integer from pointer without a cast [-Wint-conversion] > FSL_DMA_OUT(chan, &chan->regs->mr, val, 32); > ^ > drivers/dma/fsldma.h:257:10: note: in definition of macro > 'FSL_DMA_OUT' > (val, addr)) > ^~~~ > drivers/dma/fsldma.h:234:13: note: expected 'u32 {aka unsigned int}' but > argument is of type 'u32 * {aka unsigned int *}' > static void iowrite32(u32 __iomem *addr, u32 val) > ^~~~~~~~~ > drivers/dma/fsldma.c: In function 'get_mr': > >> drivers/dma/fsldma.h:252:28: error: void value not ignored as it > >> ought to be > (((fsl_dma)->feature & FSL_DMA_BIG_ENDIAN) ? \ > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ioread##width##be(addr) : ioread##width(addr)) > ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ > drivers/dma/fsldma.c:71:9: note: in expansion of macro 'FSL_DMA_IN' > return FSL_DMA_IN(chan, &chan->regs->mr, 32); > ^~~~~~~~~~ > drivers/dma/fsldma.c: In function 'set_cdar': > >> drivers/dma/fsldma.h:256:4: error: implicit declaration of function > >> 'iowrite64be'; did you mean 'iowrite32be'? > >> [-Werror=implicit-function-declaration] > iowrite##width##be(val, addr) : iowrite##width \ > ^ > >> drivers/dma/fsldma.c:76:2: note: in expansion of macro 'FSL_DMA_OUT' > FSL_DMA_OUT(chan, &chan->regs->cdar, addr | FSL_DMA_SNEN, 64); > ^~~~~~~~~~~ > >> drivers/dma/fsldma.h:256:36: error: implicit declaration of function > >> 'iowrite64'; did you mean 'iowrite32'? > >> [-Werror=implicit-function-declaration] > iowrite##width##be(val, addr) : iowrite##width \ > ^ > >> drivers/dma/fsldma.c:76:2: note: in expansion of macro 'FSL_DMA_OUT' > FSL_DMA_OUT(chan, &chan->regs->cdar, addr | FSL_DMA_SNEN, 64); > ^~~~~~~~~~~ > drivers/dma/fsldma.c: In function 'get_cdar': > >> drivers/dma/fsldma.h:252:4: error: implicit declaration of function > >> 'ioread64be'; did you mean 'ioread32be'? > >> [-Werror=implicit-function-declaration] > ioread##width##be(addr) : ioread##width(addr)) > ^ > drivers/dma/fsldma.c:81:9: note: in expansion of macro 'FSL_DMA_IN' > return FSL_DMA_IN(chan, &chan->regs->cdar, 64) & ~FSL_DMA_SNEN; > ^~~~~~~~~~ > >> drivers/dma/fsldma.h:252:30: error: implicit declaration of function > >> 'ioread64'; did you mean 'ioread32'? > >> [-Werror=implicit-function-declaration] > ioread##width##be(addr) : ioread##width(addr)) > ^ > drivers/dma/fsldma.c:81:9: note: in expansion of macro 'FSL_DMA_IN' > return FSL_DMA_IN(chan, &chan->regs->cdar, 64) & ~FSL_DMA_SNEN; > ^~~~~~~~~~ > drivers/dma/fsldma.c: In function 'set_bcr': > drivers/dma/fsldma.c:86:38: warning: passing argument 1 of > 'iowrite32be' makes pointer from integer without a cast [-Wint-conversion] > FSL_DMA_OUT(chan, &chan->regs->bcr, val, 32); > ^ > drivers/dma/fsldma.h:256:23: note: in definition of macro > 'FSL_DMA_OUT' > iowrite##width##be(val, addr) : iowrite##width \ > ^~~ > drivers/dma/fsldma.h:244:13: note: expected 'u32 * {aka unsigned int *}' > but argument is of type 'u32 {aka unsigned int}' > static void iowrite32be(u32 __iomem *addr, u32 val) > ^~~~~~~~~~~ > drivers/dma/fsldma.c:86:20: warning: passing argument 2 of > 'iowrite32be' makes integer from pointer without a cast [-Wint-conversion] > FSL_DMA_OUT(chan, &chan->regs->bcr, val, 32); > ^ > drivers/dma/fsldma.h:256:28: note: in definition of macro > 'FSL_DMA_OUT' > iowrite##width##be(val, addr) : iowrite##width \ > ^~~~ > drivers/dma/fsldma.h:244:13: note: expected 'u32 {aka unsigned int}' but > argument is of type 'u32 * {aka unsigned int *}' > static void iowrite32be(u32 __iomem *addr, u32 val) > ^~~~~~~~~~~ > drivers/dma/fsldma.c:86:38: warning: passing argument 1 of 'iowrite32' > makes pointer from integer without a cast [-Wint-conversion] > FSL_DMA_OUT(chan, &chan->regs->bcr, val, 32); > ^ > drivers/dma/fsldma.h:257:5: note: in definition of macro 'FSL_DMA_OUT' > (val, addr)) > ^~~ > drivers/dma/fsldma.h:234:13: note: expected 'u32 * {aka unsigned int *}' > but argument is of type 'u32 {aka unsigned int}' > static void iowrite32(u32 __iomem *addr, u32 val) > ^~~~~~~~~ > drivers/dma/fsldma.c:86:20: warning: passing argument 2 of 'iowrite32' > makes integer from pointer without a cast [-Wint-conversion] > FSL_DMA_OUT(chan, &chan->regs->bcr, val, 32); > ^ > drivers/dma/fsldma.h:257:10: note: in definition of macro > 'FSL_DMA_OUT' > (val, addr)) > ^~~~ > drivers/dma/fsldma.h:234:13: note: expected 'u32 {aka unsigned int}' but > argument is of type 'u32 * {aka unsigned int *}' > static void iowrite32(u32 __iomem *addr, u32 val) > ^~~~~~~~~ > drivers/dma/fsldma.c: In function 'get_bcr': > >> drivers/dma/fsldma.h:252:28: error: void value not ignored as it > >> ought to be > (((fsl_dma)->feature & FSL_DMA_BIG_ENDIAN) ? \ > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ioread##width##be(addr) : ioread##width(addr)) > ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ > drivers/dma/fsldma.c:91:9: note: in expansion of macro 'FSL_DMA_IN' > return FSL_DMA_IN(chan, &chan->regs->bcr, 32); > ^~~~~~~~~~ > drivers/dma/fsldma.c: In function 'get_mr': > >> drivers/dma/fsldma.c:72:1: warning: control reaches end of non-void > >> function [-Wreturn-type] > } > ^ > drivers/dma/fsldma.c: In function 'get_sr': > drivers/dma/fsldma.c:62:1: warning: control reaches end of non-void > function [-Wreturn-type] > } > ^ > drivers/dma/fsldma.c: In function 'get_bcr': > drivers/dma/fsldma.c:92:1: warning: control reaches end of non-void > function [-Wreturn-type] > } > ^ > In file included from drivers/dma/fsldma.c:41:0: > At top level: > drivers/dma/fsldma.h:220:13: warning: 'out_le64' defined but not used > [-Wunused-function] > static void out_le64(u64 __iomem *addr, u64 val) > ^~~~~~~~ > drivers/dma/fsldma.h:214:12: warning: 'in_le64' defined but not used > [-Wunused-function] > static u64 in_le64(const u64 __iomem *addr) > ^~~~~~~ > drivers/dma/fsldma.h:207:13: warning: 'out_be64' defined but not used > [-Wunused-function] > static void out_be64(u64 __iomem *addr, u64 val) > ^~~~~~~~ > drivers/dma/fsldma.h:201:12: warning: 'in_be64' defined but not used > [-Wunused-function] > static u64 in_be64(const u64 __iomem *addr) > ^~~~~~~ > cc1: some warnings being treated as errors > > vim +/ioread32 +229 drivers/dma/fsldma.h > > 227 > 228 #ifdef CONFIG_PPC > > 229 static void ioread32(const u32 __iomem *addr) > 230 { > > 231 return in_le32(addr); > 232 } > 233 > > 234 static void iowrite32(u32 __iomem *addr, u32 val) > 235 { > 236 out_le32(addr, val); > 237 } > 238 > > 239 static void ioread32be(const u32 __iomem *addr) > 240 { > > 241 return in_be32(addr); > 242 } > 243 > > 244 static void iowrite32be(u32 __iomem *addr, u32 val) > 245 { > 246 out_be32(addr, val); > 247 } > 248 #endif > 249 > 250 #define FSL_DMA_IN(fsl_dma, addr, width) \ > 251 (((fsl_dma)->feature & FSL_DMA_BIG_ENDIAN) ? > \ > > 252 ioread##width##be(addr) : ioread##width(addr)) > 253 > 254 #define FSL_DMA_OUT(fsl_dma, addr, val, width) > \ > 255 (((fsl_dma)->feature & FSL_DMA_BIG_ENDIAN) ? > \ > > 256 iowrite##width##be(val, addr) : iowrite##width \ > > 257 (val, addr)) > 258 > > --- > 0-DAY kernel test infrastructure Open Source Technology > Center > https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists. > 01.org%2Fpipermail%2Fkbuild-all&data=02%7C01%7Cwen.he_1%40nxp.com > %7Cacb9ecfe003d4333297e08d54bc44543%7C686ea1d3bc2b4c6fa92cd99c > 5c301635%7C0%7C0%7C636498228755555067&sdata=FZ8ZM48ir7Ck182jm > V48n5fyndIREknazF3DI6ncEy0%3D&reserved=0 Intel > Corporation ?韬{.n?????%??檩??w?{.n???Ё?撖)?骅w*jg????????G??⒏⒎?:+v????????????"??????