RE: [PATCH] dmaengine: fsldma: Replace DMA_IN/OUT by FSL_DMA_IN/OUT

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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????????????"??????



[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux