Lennart Sorensen wrote:
You're talking about byte endian. I'm talking about bit endian -- the
order of bits within a byte. Software cannot know what the bit endian is,
but external devices that have memory-mapped registers can know.
The guy wiring up the hardware should connect the wires correctly.
I'm sure they're correct, my problem is that how can my driver know what they
are?
Doesn't the bus usually have some definition of bit order which the
device would have to adhere to? After all there must be address lines
somewhere.
I was hoping that there would be some compile-time constant I could check that
would give me this information.
Does this perhaps offer anything useful?
http://www.linuxjournal.com/article/6788
Yeah, I read that article some time ago when trying to diagnose the problem I
was seeing. It does explain the point I'm trying to make. We have a device
that's used on two product lines: one ARM-based, and one PowerPC. The ARM is
little-endian, and the PowerPC is big-endian. The device can support
little-endian or big-endian data, as long as the bit-order matches the byte-order.
For now, I'm going to have to assume that they do match.
--
Timur Tabi
Linux Kernel Developer @ Freescale
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/