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
Thanks
-Sachin
--
---------------------------------
Sachin Sant
IBM Linux Technology Center
India Systems and Technology Labs
Bangalore, India
---------------------------------
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 <[email protected]>
---
include/asm-generic/dma-mapping-common.h | 8 ++++++++
include/linux/dma-mapping.h | 8 --------
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/include/asm-generic/dma-mapping-common.h b/include/asm-generic/dma-mapping-common.h
index 0c80bb3..8079c72 100644
--- a/include/asm-generic/dma-mapping-common.h
+++ b/include/asm-generic/dma-mapping-common.h
@@ -160,6 +160,14 @@ dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg,
}
+static inline int dma_get_cache_alignment(void)
+{
+#ifdef ARCH_DMA_MINALIGN
+ return ARCH_DMA_MINALIGN;
+#endif
+ return 1;
+}
+
#define dma_map_single(d, a, s, r) dma_map_single_attrs(d, a, s, r, NULL)
#define dma_unmap_single(d, a, s, r) dma_unmap_single_attrs(d, a, s, r, NULL)
#define dma_map_sg(d, s, n, r) dma_map_sg_attrs(d, s, n, r, NULL)
diff --git a/include/linux/dma-mapping.h b/include/linux/dma-mapping.h
index e0670a5..89b7e1a 100644
--- a/include/linux/dma-mapping.h
+++ b/include/linux/dma-mapping.h
@@ -142,14 +142,6 @@ static inline int dma_set_seg_boundary(struct device *dev, unsigned long mask)
return -EIO;
}
-static inline int dma_get_cache_alignment(void)
-{
-#ifdef ARCH_DMA_MINALIGN
- return ARCH_DMA_MINALIGN;
-#endif
- return 1;
-}
-
/* flags for the coherent memory api */
#define DMA_MEMORY_MAP 0x01
#define DMA_MEMORY_IO 0x02
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 <[email protected]>
> ---
>
> 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 <[email protected]>
---
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
On Thu, Aug 12, 2010 at 10:07, Heiko Carstens <[email protected]> wrote:
> 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.
Seems Sun3 suffers from this as well:
http://kisskb.ellerman.id.au/kisskb/buildresult/3022174/
<std_rant>
Funny how these things never show up in linux-next...
</std_rant>
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
On Thu, 12 Aug 2010 10:07:01 +0200
Heiko Carstens <[email protected]> wrote:
> 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 <[email protected]>
> ---
>
> 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
Very sorry about this.
Acked-by: FUJITA Tomonori <[email protected]>
Looks like we had better to clean up dma-mapping headers on both
HAS_DMA and !HAS_DMA though.
On Thu, 12 Aug 2010 11:03:37 +0200
Geert Uytterhoeven <[email protected]> wrote:
> Seems Sun3 suffers from this as well:
> http://kisskb.ellerman.id.au/kisskb/buildresult/3022174/
>
> <std_rant>
> Funny how these things never show up in linux-next...
> </std_rant>
Any chance to test the -mm tree on linux-next compile platform?
Hi,
On Fri, 13 Aug 2010 15:45:31 +0900 FUJITA Tomonori <[email protected]> wrote:
>
> Any chance to test the -mm tree on linux-next compile platform?
We do, I just have to remember to import the -mm tree manually.
See: http://kisskb.ellerman.id.au/kisskb/branch/14/
Even better would be to get most of the -mm tree into linux-next itself ... ;-)
--
Cheers,
Stephen Rothwell [email protected]
http://www.canb.auug.org.au/~sfr/
On Fri, 13 Aug 2010 17:27:52 +1000
Stephen Rothwell <[email protected]> wrote:
> > Any chance to test the -mm tree on linux-next compile platform?
>
> We do, I just have to remember to import the -mm tree manually.
>
> See: http://kisskb.ellerman.id.au/kisskb/branch/14/
Ah, thanks! Seems that I need to track that.
> Even better would be to get most of the -mm tree into linux-next
> itself ... ;-)
Yeah, is there any way to push patches into both -mm and linux-next?
Hi,
On Sat, 14 Aug 2010 16:39:15 +0900 FUJITA Tomonori <[email protected]> wrote:
>
> > Even better would be to get most of the -mm tree into linux-next
> > itself ... ;-)
>
> Yeah, is there any way to push patches into both -mm and linux-next?
-mm is based on linux-next so if something is in linux-next, it will be
in -mm (next time -mm is released).
--
Cheers,
Stephen Rothwell [email protected]
http://www.canb.auug.org.au/~sfr/