Byte swapped inw/outw again....

Mark S. Mathews mark at
Tue Mar 14 05:32:57 EST 2000

Hi Folks,

Another driver port with inw/outw issues again.  I've looked through the
linuxppc-dev archive and I'm not quite seeing the answer to my question

I'm porting a driver for a WLAN card whose interface is all 16-bit
registers.  Sometimes the reads/writes are strictly a 16-bit integer
quantity where the byte swapping in inw/outw wouldn't be too much of a
problem.  Other times we're reading/writing buffer contents from/to the
card 2-bytes at a time (swapping in this case is exceptionally bad).

When writing the driver originally on the x86 I put in xxx_to_cpu and
cpu_to_xxx calls everywhere assuming that the inw/outw words would be
coming up byteswapped on the PPC and other platforms.  Now, after I
realize that inw/outw are trying to do the byte code is
swapping them back and we're _still_ backwards.  ;-)

What I'd like to do is set/unset or undef/define an item such that the
inw/outw I'm using _will not_ do the byte swapping.  On reading the code
and looking through the archives, I get the feeling there is a RIGHT way
to do this.  I just haven't been able to figure it out precisely.

It would be easy to hack w/ driver local macros or something...I'd just
like to do it right for once.

Any help would be much appreciated.

Best Regards,

On Mon, 6 Mar 2000, Graham Stoney wrote:
> Hi gang,
> I've written a brief HOWTO with info from the last few months from this
> mailing list, and I'd be very interested in any feedback anyone could offer.
> It's on the web at:
> I'm especially interested in any gross inaccuracies it may contain!
> If you spot one, please drop me some email.
> Thanks,
> Graham

Mark S. Mathews

AbsoluteValue Software     Web:
P.O. Box 941149            e-mail: mark at
Maitland, FL 32794-1149    Phone:  407.644.8582
USA                        Fax:    407.539.1294

** Sent via the linuxppc-embedded mail list. See

More information about the Linuxppc-embedded mailing list