[U-Boot] [PATCH v4 4/4]: arm: Define test_and_set_bit and test_and_clear bit for ARM

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Sun Sep 6 16:59:58 CEST 2009


On 17:27 Fri 04 Sep     , Justin Waters wrote:
> 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 <asm/proc/system.h>
> > +
> 
> 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.
It's corrent and Simon already send the cleanup which is part of the pending
arm pull request

Best Regards,
J.


More information about the U-Boot mailing list