aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2013-10-10 19:18:02 +1100
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2013-11-06 14:13:49 +1100
commitd7a88c7eb46acb486922822eec3224c0bcab29dc (patch)
tree8f52d8786168579b156cf982a61c7e51e4799405 /arch/powerpc/include
parentpowerpc/boot: Properly handle the base "of" boot wrapper (diff)
downloadlinux-dev-d7a88c7eb46acb486922822eec3224c0bcab29dc.tar.xz
linux-dev-d7a88c7eb46acb486922822eec3224c0bcab29dc.zip
powerpc/scom: Enable 64-bit addresses
On P8, XSCOM addresses has a special "indirect" form that requires more than 32-bits, so let's use u64 everywhere in the code instead of u32. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/include')
-rw-r--r--arch/powerpc/include/asm/scom.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/powerpc/include/asm/scom.h b/arch/powerpc/include/asm/scom.h
index 07dcdcfdaefc..f5cde45b1161 100644
--- a/arch/powerpc/include/asm/scom.h
+++ b/arch/powerpc/include/asm/scom.h
@@ -54,8 +54,8 @@ struct scom_controller {
scom_map_t (*map)(struct device_node *ctrl_dev, u64 reg, u64 count);
void (*unmap)(scom_map_t map);
- int (*read)(scom_map_t map, u32 reg, u64 *value);
- int (*write)(scom_map_t map, u32 reg, u64 value);
+ int (*read)(scom_map_t map, u64 reg, u64 *value);
+ int (*write)(scom_map_t map, u64 reg, u64 value);
};
extern const struct scom_controller *scom_controller;
@@ -137,7 +137,7 @@ static inline void scom_unmap(scom_map_t map)
*
* Returns 0 (success) or a negative error code
*/
-static inline int scom_read(scom_map_t map, u32 reg, u64 *value)
+static inline int scom_read(scom_map_t map, u64 reg, u64 *value)
{
int rc;
@@ -155,7 +155,7 @@ static inline int scom_read(scom_map_t map, u32 reg, u64 *value)
*
* Returns 0 (success) or a negative error code
*/
-static inline int scom_write(scom_map_t map, u32 reg, u64 value)
+static inline int scom_write(scom_map_t map, u64 reg, u64 value)
{
return scom_controller->write(map, reg, value);
}