[lkml]   [1999]   [Aug]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: New resources - pls, explain :-(
>>>>> "Linus" == Linus Torvalds <> writes:

Linus> It seems to me that at least the fbcon people want more than
Linus> just to avoid byte swapping: wat they fundamentally want is not
Linus> non-byte-swapped data, they really fundamentally want control
Linus> at a very low level. I bet they'd be happy with not just
Linus> avoiding the byte swap, but also avoiding the ordering
Linus> constraints (or at least controlling them on a higher level).

Linus> So __writel() would probably fit their needs better too than
Linus> any "big-endian" or "native-endian" thing - because it really
Linus> fundamentally is about direct access rather than about
Linus> endianness.

Linus, please don't do this.

I think __writel() should expect little endian access as well, we need
both __writel() which doesn't do ordering _and_ writel_be() since it
will otherwise cause problems on big endian machines if you want to
write a portable device driver optimized with wmb()'s in the right
place if __writel() suddenly doesn't to byte swapping.

In fact we will need at least:

writel() - ordered, little endian
__writel() - non ordered (and possibly other things) - little endian
writel_be() - like writel() but big endian
__writel_be() - non ordered - big endian

The only one that could possibly be left out is the ordered
writel_be() but I think we should put it in there as well.


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:53    [W:0.094 / U:32.548 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site