public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH RESEND] [ARM] Add missing include "asm/memory.h"
@ 2010-12-28  1:56 Axel Lin
  2011-01-04  6:30 ` Nick Piggin
  0 siblings, 1 reply; 2+ messages in thread
From: Axel Lin @ 2010-12-28  1:56 UTC (permalink / raw)
  To: linux-kernel
  Cc: Peter Huewe, Nick Piggin, Russell King, linux-arm-kernel,
	Eric Miao

This patch fixes below build error by adding the missing asm/memory.h,
which is needed for arch_is_coherent().

$ make pxa3xx_defconfig; make
  CC      init/do_mounts_rd.o
In file included from include/linux/list_bl.h:5,
                 from include/linux/rculist_bl.h:7,
                 from include/linux/dcache.h:7,
                 from include/linux/fs.h:381,
                 from init/do_mounts_rd.c:3:
include/linux/bit_spinlock.h: In function 'bit_spin_unlock':
include/linux/bit_spinlock.h:61: error: implicit declaration of function 'arch_is_coherent'
make[1]: *** [init/do_mounts_rd.o] Error 1
make: *** [init] Error 2

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Peter Huewe <peterhuewe@gmx.de>
---
It was posted on https://lkml.org/lkml/2010/12/17/9 .
I still have the build error for today's linux-next tree.
CC Eric Miao, maybe he will take this patch.

Axel

 arch/arm/include/asm/system.h |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/arch/arm/include/asm/system.h b/arch/arm/include/asm/system.h
index ec4327a..3222ab8 100644
--- a/arch/arm/include/asm/system.h
+++ b/arch/arm/include/asm/system.h
@@ -155,6 +155,7 @@ extern unsigned int user_debug;
 #define rmb()		dmb()
 #define wmb()		mb()
 #else
+#include <asm/memory.h>
 #define mb()	do { if (arch_is_coherent()) dmb(); else barrier(); } while (0)
 #define rmb()	do { if (arch_is_coherent()) dmb(); else barrier(); } while (0)
 #define wmb()	do { if (arch_is_coherent()) dmb(); else barrier(); } while (0)
-- 
1.7.2




^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH RESEND] [ARM] Add missing include "asm/memory.h"
  2010-12-28  1:56 [PATCH RESEND] [ARM] Add missing include "asm/memory.h" Axel Lin
@ 2011-01-04  6:30 ` Nick Piggin
  0 siblings, 0 replies; 2+ messages in thread
From: Nick Piggin @ 2011-01-04  6:30 UTC (permalink / raw)
  To: Axel Lin
  Cc: linux-kernel, Peter Huewe, Nick Piggin, Russell King,
	linux-arm-kernel, Eric Miao

On Tue, Dec 28, 2010 at 09:56:37AM +0800, Axel Lin wrote:
> This patch fixes below build error by adding the missing asm/memory.h,
> which is needed for arch_is_coherent().

This is the right approach, but needs to go through ARM tree.
 

> $ make pxa3xx_defconfig; make
>   CC      init/do_mounts_rd.o
> In file included from include/linux/list_bl.h:5,
>                  from include/linux/rculist_bl.h:7,
>                  from include/linux/dcache.h:7,
>                  from include/linux/fs.h:381,
>                  from init/do_mounts_rd.c:3:
> include/linux/bit_spinlock.h: In function 'bit_spin_unlock':
> include/linux/bit_spinlock.h:61: error: implicit declaration of function 'arch_is_coherent'
> make[1]: *** [init/do_mounts_rd.o] Error 1
> make: *** [init] Error 2
> 
> Signed-off-by: Axel Lin <axel.lin@gmail.com>
> Acked-by: Peter Huewe <peterhuewe@gmx.de>
> ---
> It was posted on https://lkml.org/lkml/2010/12/17/9 .
> I still have the build error for today's linux-next tree.
> CC Eric Miao, maybe he will take this patch.
> 
> Axel
> 
>  arch/arm/include/asm/system.h |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/include/asm/system.h b/arch/arm/include/asm/system.h
> index ec4327a..3222ab8 100644
> --- a/arch/arm/include/asm/system.h
> +++ b/arch/arm/include/asm/system.h
> @@ -155,6 +155,7 @@ extern unsigned int user_debug;
>  #define rmb()		dmb()
>  #define wmb()		mb()
>  #else
> +#include <asm/memory.h>
>  #define mb()	do { if (arch_is_coherent()) dmb(); else barrier(); } while (0)
>  #define rmb()	do { if (arch_is_coherent()) dmb(); else barrier(); } while (0)
>  #define wmb()	do { if (arch_is_coherent()) dmb(); else barrier(); } while (0)

Is this matching ARM convention to pull includes down here. It
usually ends up with more elusive dependency problems and strange
bugs (eg. some headers define intermediate symbols for convenience
and then undef them sometime later etc etc). Usual thing to avoid
problems is to move includes up to the top.


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-01-04  6:31 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-12-28  1:56 [PATCH RESEND] [ARM] Add missing include "asm/memory.h" Axel Lin
2011-01-04  6:30 ` Nick Piggin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox