Re: [PATCH] olpc: fix endian bug in openfirmware workaround

Ingo Molnar
2008-09-24T07:54:06Z

* Harvey Harrison <harvey.harrison@gmail.com> wrote:

> 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>

applied to tip/x86/sparse-fixes, thanks Harvey!

Ingo