[U-Boot] [RFC PATCH v2] ARM: Avoid compiler optimization for usages of readb, writeb and friends.

Alexander Holler
2010-12-19T10:22:39Z

Hello,

On 19.12.2010 08:51, Dirk Behme wrote:
> On 18.12.2010 23:27, Alexander Holler wrote:
>> gcc 4.5.1 seems to ignore (at least some) volatile definitions,
>> avoid that as done in the kernel.
>>

> Acked-by: Dirk Behme <dirk.behme@googlemail.com>

Thanks for the ack, but I have to say, that those barriers are having
side effects here. Reading NAND now fails on my BeagleBoard. Regardless
if I use gcc 4.3.5 or gcc 4.5.1, after applying that patch the wrong ID
of the NAND is read. In nand_get_flash_type()
(drivers/mtd/nand/nand_base.c) without that patch I will get the following:

*maf_id: 44, dev_id: 186

with the patch the following is read:

*maf_id: 128, dev_id: 85

Which just is wrong.

I haven't looked further up to now, maybe thats just a side effect of
some wrong clock settings because of different timings through those
barrieres or whatever.

Regards,

Alexander