]> git.baikalelectronics.ru Git - kernel.git/commitdiff
iio: temperature: max31856: Use get_unaligned_beXX()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Tue, 21 Apr 2020 00:31:34 +0000 (03:31 +0300)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 3 May 2020 08:47:21 +0000 (09:47 +0100)
This makes the driver code slightly easier to read.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/temperature/max31856.c

index b4cb21ab2e856edae8195258c14cef4735dbac09..b4c49a5d36853f0f56981795824fa8a7314a5c1b 100644 (file)
@@ -14,6 +14,7 @@
 #include <linux/iio/iio.h>
 #include <linux/iio/sysfs.h>
 #include <linux/util_macros.h>
+#include <asm/unaligned.h>
 #include <dt-bindings/iio/temperature/thermocouple.h>
 /*
  * The MSB of the register value determines whether the following byte will
@@ -168,7 +169,7 @@ static int max31856_thermocouple_read(struct max31856_data *data,
                if (ret)
                        return ret;
                /* Skip last 5 dead bits of LTCBL */
-               *val = (reg_val[0] << 16 | reg_val[1] << 8 | reg_val[2]) >> 5;
+               *val = get_unaligned_be24(&reg_val[0]) >> 5;
                /* Check 7th bit of LTCBH reg. value for sign*/
                if (reg_val[0] & 0x80)
                        *val -= 0x80000;
@@ -185,7 +186,7 @@ static int max31856_thermocouple_read(struct max31856_data *data,
                /* Get Cold Junction Temp. offset register value */
                offset_cjto = reg_val[0];
                /* Get CJTH and CJTL value and skip last 2 dead bits of CJTL */
-               *val = (reg_val[1] << 8 | reg_val[2]) >> 2;
+               *val = get_unaligned_be16(&reg_val[1]) >> 2;
                /* As per datasheet add offset into CJTH and CJTL */
                *val += offset_cjto;
                /* Check 7th bit of CJTH reg. value for sign */