
On 12/01/2010 06:34 AM, Wolfgang Denk wrote:
Dear Marek Vasut,
In message 201012010346.21897.marek.vasut@gmail.com you wrote:
On efikamx, I'll soon submit it mainline (when I clean it up enough). Here's the relevant part of configuration file (the #define __io is actually the important thing):
Is there a way to do without this?
#define __io
I mean, these empty defines look pretty bogus to me.
I have found several boards with the same behavior:
include/configs/mv-common.h:#define __io include/configs/r2dplus.h:#define __io include/configs/edminiv2.h:#define __io include/configs/nhk8815.h:#define __io(a)((void __iomem *)(PCI_IO_VADDR + (a))) include/configs/r7780mp.h:#define __io
__io is defined if CMD_IDE is set for most of them, meaning CMD_IDE requires this define, even if it has no particular meaning for the processor we are using. It seems to me that defining __io is only required for enabling the switch inside arch/arm/include/asm/io.h: #ifdef __io #define outsb(p,d,l) __raw_writesb(__io(p),d,l) ...
Really __io should accept a parameter to make some casting, as I can see in the blackfin architecture. Except the nhk8815 board, no parameter is accepted and the define enables only the #ifdef switch.
Probably there is a better way to do this ;-). Could be maybe better to define __io inside io.h if it is not already defined by a board ?
Best regards, Stefano Babic