Subject: Re: [PATCH 20/32] rt2x00: byte ordering correctness

From: Ivo van Doorn <[email-masked]>
Date: Fri, 28 Apr 2006 15:31:06 +0200

On Friday 28 April 2006 15:14, Christoph Hellwig wrote:
> On Fri, Apr 28, 2006 at 02:59:23PM +0200, Ivo van Doorn wrote:
> > I am not sure if that would be a wise idea,
> > there is no byte ordering done in rt2500usb except for the EEPROM
> > contents which is little endian.
> > So when the module is used on a normal x86 platform, there won't be
> > any big endian structures or fields.
> 
> Well, then you'll need __le* annotation and the le*_to_cpu/cpu_to_le*
> instead.  Any new driver should be endian clean.

Not exactly true for rt2570, to correctly operate with the device, no
endian conversions should be made at all. Not to big endian and not
to little endian. The register should be send as a regular value with the
byteordering equal to the byteordering of the currently used CPU.
It has been tested to send only little endian or big endian values to
the device on all CPU's, and in all cases it meant that the device would not function on
CPU's with the other byte ordering.