Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[linux.git] / arch / powerpc / platforms / powernv / opal-sensor.c
index 663cc9c65613f24ba0dee3b680f88cd5451c004e..10271ad1fac45129599cb8ac20c5bf6c94c20462 100644 (file)
@@ -33,6 +33,7 @@ int opal_get_sensor_data(u32 sensor_hndl, u32 *sensor_data)
 {
        int ret, token;
        struct opal_msg msg;
+       __be32 data;
 
        token = opal_async_get_token_interruptible();
        if (token < 0) {
@@ -42,7 +43,7 @@ int opal_get_sensor_data(u32 sensor_hndl, u32 *sensor_data)
        }
 
        mutex_lock(&opal_sensor_mutex);
-       ret = opal_sensor_read(sensor_hndl, token, sensor_data);
+       ret = opal_sensor_read(sensor_hndl, token, &data);
        if (ret != OPAL_ASYNC_COMPLETION)
                goto out_token;
 
@@ -53,7 +54,8 @@ int opal_get_sensor_data(u32 sensor_hndl, u32 *sensor_data)
                goto out_token;
        }
 
-       ret = msg.params[1];
+       *sensor_data = be32_to_cpu(data);
+       ret = be64_to_cpu(msg.params[1]);
 
 out_token:
        mutex_unlock(&opal_sensor_mutex);