forked from Minki/linux
iio: st_sensors: Use get_unaligned_be24() and sign_extend32()
Use these functions instead of open-coding them. Cc: Denis Ciocca <denis.ciocca@st.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
parent
92b7d5b70f
commit
3009fb9cab
@ -20,11 +20,6 @@
|
||||
|
||||
#include "st_sensors_core.h"
|
||||
|
||||
static inline u32 st_sensors_get_unaligned_le24(const u8 *p)
|
||||
{
|
||||
return (s32)((p[0] | p[1] << 8 | p[2] << 16) << 8) >> 8;
|
||||
}
|
||||
|
||||
int st_sensors_write_data_with_mask(struct iio_dev *indio_dev,
|
||||
u8 reg_addr, u8 mask, u8 data)
|
||||
{
|
||||
@ -543,7 +538,7 @@ static int st_sensors_read_axis_data(struct iio_dev *indio_dev,
|
||||
else if (byte_for_channel == 2)
|
||||
*data = (s16)get_unaligned_le16(outdata);
|
||||
else if (byte_for_channel == 3)
|
||||
*data = (s32)st_sensors_get_unaligned_le24(outdata);
|
||||
*data = (s32)sign_extend32(get_unaligned_le24(outdata), 23);
|
||||
|
||||
st_sensors_free_memory:
|
||||
kfree(outdata);
|
||||
|
Loading…
Reference in New Issue
Block a user