iio: proximity: pulsedlight v2: Tidy up an endian issue
authorJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 13 Oct 2019 10:26:00 +0000 (11:26 +0100)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Fri, 18 Oct 2019 18:57:47 +0000 (19:57 +0100)
Sparse identified the following
CHECK   drivers/iio/proximity/pulsedlight-lidar-lite-v2.c
drivers/iio/proximity/pulsedlight-lidar-lite-v2.c:144:24: warning: cast to restricted __be16
drivers/iio/proximity/pulsedlight-lidar-lite-v2.c:144:24: warning: cast to restricted __be16
drivers/iio/proximity/pulsedlight-lidar-lite-v2.c:144:24: warning: cast to restricted __be16
drivers/iio/proximity/pulsedlight-lidar-lite-v2.c:144:24: warning: cast to restricted __be16

This cleans up by adding a local variable to hold the value whilst
it is __be16 before applying endian converstion into eventual destination.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Acked-by: Matt Ranostay <matt.ranostay@konsulko.com>
drivers/iio/proximity/pulsedlight-lidar-lite-v2.c

index 47af54f..5b36964 100644 (file)
@@ -136,12 +136,13 @@ static inline int lidar_write_power(struct lidar_data *data, int val)
 
 static int lidar_read_measurement(struct lidar_data *data, u16 *reg)
 {
+       __be16 value;
        int ret = data->xfer(data, LIDAR_REG_DATA_HBYTE |
                        (data->i2c_enabled ? LIDAR_REG_DATA_WORD_READ : 0),
-                       (u8 *) reg, 2);
+                       (u8 *) &value, 2);
 
        if (!ret)
-               *reg = be16_to_cpu(*reg);
+               *reg = be16_to_cpu(value);
 
        return ret;
 }