From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wolfgang Denk Date: Wed, 02 Jan 2013 21:23:29 +0100 Subject: [U-Boot] [PATCH] drivers/block/systemace: replaced in16/out16 with more common readw/writew macros In-Reply-To: <1357139186-9172-1-git-send-email-alexey.brodkin@gmail.com> References: <1357139186-9172-1-git-send-email-alexey.brodkin@gmail.com> Message-ID: <20130102202330.02EEC20035D@gemini.denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Dear Alexey Brodkin, In message <1357139186-9172-1-git-send-email-alexey.brodkin@gmail.com> you wrote: > Most architectures don't have symbols "in16"/"out16" defined. > Only Microblaze/PowerPC/Spark architectures do have them defined. > > At the same time there're much more common macros "readw"/"writew" for > 16-bit data access defined in most of architectures (in > linux kernel header "io.h"). > > So use of "readw"/"writew" makes it possible to build this driver for > virtually any architecture. > > Signed-off-by: Alexey Brodkin Did you actually test this on - say - any PowerPC board? To my understanding, in16() / out16() perform big endian accesses (i. e. direct load / store operations) on PowerPC, while readw / writew do byte-swapping (for accessling little-endian things like PCI busses). I speculate that this patch will break all big-endian systems. 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 "There are three principal ways to lose money: wine, women, and engi- neers. While the first two are more pleasant, the third is by far the more certain." - Baron Rothschild, ca. 1800