[U-Boot] [PATCH] drivers/block/systemace: replaced in16/out16 with more common readw/writew macros

Wolfgang Denk wd at denx.de
Fri Jan 4 11:22:18 CET 2013


Dear Alexey,

In message <CAML3pwXy7_FiVqJvgmm4-aHbspdY6BnMsZonYfzcw_hA9Fe_fw at mail.gmail.com> you wrote:
> 
> but then do you think if there's any way to use some generic
> read/write routines?

For reference, please see section "KERNEL I/O BARRIER EFFECTS" in the
Linux kernel Documentation/memory-barriers.txt file.  According to
that, we should strive to using ioreadX(), iowriteX() (and some kernel
hackers actually support such an oppinion) - however, there is little
support for thjis in existing code.

ARM traditionally tends to be using readX(), writeX(), at least on the
LE implmentamtions (I don't know what the BE variants do).  PowerPC
has tradtitionally been using inX(), outX() resp. their explicit
counterparts in_leX() / in_beX() / out_leX() / out_beX().  These
functions are also available in ARM, and have been used for drivers
for IP blocks shared between SoCs of different architectures.

> The problem is we use ml509 board loaded with Synopsys DW ACR700 core
> and we need to access SystemACE CF-card controller (to boot Linux
> kernel mainly).
> 
> Or should I just add conditional branch for ARC architecture?

Is there a need to change the driver at all?  Can you not just provide
the needed inX(), outX() accessors for your architecture?

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"Why waste negative entropy on comments, when you could use the  same
entropy to create bugs instead?"                        - Steve Elias


More information about the U-Boot mailing list