
Dear Wolfgang,
I dislike that you introduce new I/O accessors here, and additionally in a way which is explicitly discouraged in U-Boot.
We don't allow to access device registers through a base address plus offset notation; instead, we use C structs to describe the register layout.
Sorry, I was not aware of these requirements.
Also, on real hardware your accessors areprobably lacking sufficient memory barriers etc.
The lack of memory barriers should not cause any problems on real hardware. Although I don't have a Malta board, but the original Linux code also does not use memory barriers.
Is there any specific reason for not using the usual standard accessors as provided by <asm/io.h> ?
No specific reason. The original Linux code uses custom macros for register access, and I have converted those into inline functions.
Thank you for the review. I will fix the issues in the next version of the patch.
-Gabor