On Thu, Aug 12, 2010 at 09:55:32AM +0200, Heiko Carstens wrote: > On Thu, Aug 12, 2010 at 01:10:01PM +0530, Sachin Sant wrote: > > Latest 2.6.35 git (2.6.35-git11 : 5af568cbd...) fails to build > > on s390 with following errors : > > > > arch/s390/mm/fault.c:396: warning: frame size of 'do_protection_exception' is 264 bytes > > In file included from include/linux/dmaengine.h:26, > > from include/linux/skbuff.h:30, > > from include/linux/icmpv6.h:82, > > from include/linux/ipv6.h:220, > > from include/net/ipv6.h:16, > > from include/linux/sunrpc/clnt.h:25, > > from include/linux/nfs_fs.h:48, > > from init/do_mounts.c:20: > > include/linux/dma-mapping.h:145: error: static declaration of 'dma_get_cache_alignment' follows non-static declaration > > include/asm-generic/dma-mapping-broken.h:73: error: previous declaration of 'dma_get_cache_alignment' was here > > make[1]: *** [init/do_mounts.o] Error 1 > > make[1]: *** Waiting for unfinished jobs.... > > init/do_mounts_md.c: In function 'md_setup_drive': > > init/do_mounts_md.c:241: warning: frame size of 'md_setup_drive' is 496 bytes > > make: *** [init] Error 2 > > make: *** Waiting for unfinished jobs.... > > > > The code in question was last changed via following commit > > > > commit 4565f0170dfc849b3629c27d769db800467baa62 > > dma-mapping: unify dma_get_cache_alignment implementations > > Cc'ing linux-arch since the original patch got posted there as well. > > Patch below should fix it. > > Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> > --- > > include/asm-generic/dma-mapping-common.h | 8 ++++++++ > include/linux/dma-mapping.h | 8 -------- > 2 files changed, 8 insertions(+), 8 deletions(-) Crap. By far not all converted architectures include dma-mapping-common.h from their private dma-mapping header file. So the patch would probably introduce a couple of new compile errors. Looks like we need an explicit ifdef. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> --- include/linux/dma-mapping.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/linux/dma-mapping.h b/include/linux/dma-mapping.h index e0670a5..ce29b81 100644 --- a/include/linux/dma-mapping.h +++ b/include/linux/dma-mapping.h @@ -142,6 +142,7 @@ static inline int dma_set_seg_boundary(struct device *dev, unsigned long mask) return -EIO; } +#ifdef CONFIG_HAS_DMA static inline int dma_get_cache_alignment(void) { #ifdef ARCH_DMA_MINALIGN @@ -149,6 +150,7 @@ static inline int dma_get_cache_alignment(void) #endif return 1; } +#endif /* flags for the coherent memory api */ #define DMA_MEMORY_MAP 0x01 -- To unsubscribe from this list: send the line "unsubscribe linux-s390" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html