]> git.baikalelectronics.ru Git - kernel.git/commit
x86, olpc: fix endian bug in openfirmware workaround
authorHarvey Harrison <harvey.harrison@gmail.com>
Tue, 23 Sep 2008 22:20:09 +0000 (15:20 -0700)
committerIngo Molnar <mingo@elte.hu>
Wed, 24 Sep 2008 08:29:04 +0000 (10:29 +0200)
commit670d0dc872344730cfba977fe19f1d238e70fda9
tree8a1660c480cdd1ae11f60258aea47caa7309b0b3
parent9d084a6d8d39f5a3564395bdbfe8fab6851ad8c2
x86, olpc: fix endian bug in openfirmware workaround

Boardrev is always treated as a u32 everywhere else, no reason to
byteswap the 0xc2 value.  The only use is to print out if it is
a prerelease board, the test being:

(olpc_platform_info.boardrev & 0xf) < 8

Which is currently always true as be32_to_cpu(0xc2) & 0xf = 0
but I doubt that was the intention here.  The consequences of the bug
are pretty minor though (incorrect boardrev displayed in dmesg when
ofw support not configured)

Also annotate the temporary used to read the boardrev in the ofw
case.

The confusion was noticed by Sparse:

  arch/x86/kernel/olpc.c:206:32: warning: cast to restricted __be32

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/olpc.c