Messages in this thread | | | Subject | Re: New resources - pls, explain :-( | From | Jes Sorensen <> | Date | 14 Aug 1999 20:21:17 +0200 |
| |
>>>>> "Linus" == Linus Torvalds <torvalds@transmeta.com> 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.
Jes
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |