From mboxrd@z Thu Jan 1 00:00:00 1970 From: Justin Waters Date: Fri, 4 Sep 2009 17:27:59 -0400 Subject: [U-Boot] [PATCH v4 4/4]: arm: Define test_and_set_bit and test_and_clear bit for ARM In-Reply-To: <20090824091016.7be37982@marrow.netinsight.se> References: <20090824090605.37715546@marrow.netinsight.se> <20090824091016.7be37982@marrow.netinsight.se> Message-ID: <1252099679.4786.13.camel@jjw-linux> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Simon, I found a slight problem with this section of the patch: On Mon, 2009-08-24 at 03:10 -0400, Simon Kagstrom wrote: > diff --git a/include/asm-arm/bitops.h b/include/asm-arm/bitops.h > index 854e225..3c7b00c 100644 > --- a/include/asm-arm/bitops.h > +++ b/include/asm-arm/bitops.h > @@ -17,6 +17,8 @@ > > #ifdef __KERNEL__ > > +#include > + It causes a compiler error on the arm926ejs platform: In file included from cpu.c:34: /home/justin/git/u-boot/include/asm/system.h: At top level: /home/justin/git/u-boot/include/asm/system.h:71: error: expected identifier or '(' before 'asm' I did some digging, and it looks like set_cr() is implemented by both asm-arm/system.h and asm-arm/proc-armv/system.h. One implements the function as a macro, while the other uses a standard C function, hence the weird error message. The conflict occurs in cpu/arm926ejs/cpu.c. * cpu.c includes both common.h and asm/system.h * common.h includes asm/bitops.h, which now includes asm/proc/system.h There are a few other values that are defined in both files, although they don't seem to cause any problems. If I comment out one of the two implementations, the code compiles fine. However, I'm not really sure what the correct fix would be. I just wanted to let you know. -Justin Waters