|
@@ -452,7 +452,7 @@ static int bmg160_get_temp(struct bmg160_data *data, int *val)
|
|
|
static int bmg160_get_axis(struct bmg160_data *data, int axis, int *val)
|
|
|
{
|
|
|
int ret;
|
|
|
- unsigned int raw_val;
|
|
|
+ __le16 raw_val;
|
|
|
|
|
|
mutex_lock(&data->mutex);
|
|
|
ret = bmg160_set_power_state(data, true);
|
|
@@ -462,7 +462,7 @@ static int bmg160_get_axis(struct bmg160_data *data, int axis, int *val)
|
|
|
}
|
|
|
|
|
|
ret = regmap_bulk_read(data->regmap, BMG160_AXIS_TO_REG(axis), &raw_val,
|
|
|
- 2);
|
|
|
+ sizeof(raw_val));
|
|
|
if (ret < 0) {
|
|
|
dev_err(data->dev, "Error reading axis %d\n", axis);
|
|
|
bmg160_set_power_state(data, false);
|
|
@@ -470,7 +470,7 @@ static int bmg160_get_axis(struct bmg160_data *data, int axis, int *val)
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
- *val = sign_extend32(raw_val, 15);
|
|
|
+ *val = sign_extend32(le16_to_cpu(raw_val), 15);
|
|
|
ret = bmg160_set_power_state(data, false);
|
|
|
mutex_unlock(&data->mutex);
|
|
|
if (ret < 0)
|
|
@@ -733,6 +733,7 @@ static const struct iio_event_spec bmg160_event = {
|
|
|
.sign = 's', \
|
|
|
.realbits = 16, \
|
|
|
.storagebits = 16, \
|
|
|
+ .endianness = IIO_LE, \
|
|
|
}, \
|
|
|
.event_spec = &bmg160_event, \
|
|
|
.num_event_specs = 1 \
|