powerpc: mtspr/mtmsr should take an unsigned long
authorScott Wood <scottwood@freescale.com>
Mon, 25 Jul 2011 11:02:11 +0000 (11:02 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Fri, 5 Aug 2011 04:47:54 +0000 (14:47 +1000)
commit326ed6a9bcf8d451a6d714d10c8b0f40941a3ed3
treed57cbea021dc1866dbe68e1d32a42fd508c869a9
parent53d1e658df6e26d62500410719aaee2b82067c03
powerpc: mtspr/mtmsr should take an unsigned long

Add a cast in case the caller passes in a different type, as it would
if mtspr/mtmsr were functions.

Previously, if a 64-bit type was passed in on 32-bit, GCC would bind the
constraint to a pair of registers, and would substitute the first register
in the pair in the asm code.  This corresponds to the upper half of the
64-bit register, which is generally not the desired behavior.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/include/asm/reg.h