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

Jean-Christophe PLAGNIOL-VILLARD
2009-09-06T14:59:58Z

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.