iio: pressure: ms5611: Use get_unaligned_be24()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Tue, 21 Apr 2020 00:31:32 +0000 (03:31 +0300)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 3 May 2020 08:47:20 +0000 (09:47 +0100)
This makes the driver code slightly easier to read.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Tomasz Duszynski <tduszyns@gmail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/pressure/ms5611_i2c.c
drivers/iio/pressure/ms5611_spi.c

index 8089c59..072c106 100644 (file)
@@ -16,6 +16,8 @@
 #include <linux/module.h>
 #include <linux/of_device.h>
 
+#include <asm/unaligned.h>
+
 #include "ms5611.h"
 
 static int ms5611_i2c_reset(struct device *dev)
@@ -50,7 +52,7 @@ static int ms5611_i2c_read_adc(struct ms5611_state *st, s32 *val)
        if (ret < 0)
                return ret;
 
-       *val = (buf[0] << 16) | (buf[1] << 8) | buf[2];
+       *val = get_unaligned_be24(&buf[0]);
 
        return 0;
 }
index b463eaa..4799aa5 100644 (file)
@@ -11,6 +11,8 @@
 #include <linux/spi/spi.h>
 #include <linux/of_device.h>
 
+#include <asm/unaligned.h>
+
 #include "ms5611.h"
 
 static int ms5611_spi_reset(struct device *dev)
@@ -45,7 +47,7 @@ static int ms5611_spi_read_adc(struct device *dev, s32 *val)
        if (ret < 0)
                return ret;
 
-       *val = (buf[0] << 16) | (buf[1] << 8) | buf[2];
+       *val = get_unaligned_be24(&buf[0]);
 
        return 0;
 }