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://github.com/0day-ci/linux/commits/Wen-He/dmaengine-fsldma-Replace-DMA_IN-OUT-by-FSL_DMA_IN-OUT/20171226-000718 config: powerpc-ge_imp3a_defconfig (attached as .config) compiler: powerpc-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -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://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip