[U-Boot] [PATCH v2] BLOCK: Add freescale IMX51 PATA driver

Stefano Babic sbabic at denx.de
Wed Dec 1 09:48:45 CET 2010


On 12/01/2010 06:34 AM, Wolfgang Denk wrote:
> Dear Marek Vasut,
> 
> In message <201012010346.21897.marek.vasut at 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


-- 
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de
=====================================================================


More information about the U-Boot mailing list