summaryrefslogtreecommitdiff
path: root/driver/gyro_l3gd20h.c
diff options
context:
space:
mode:
Diffstat (limited to 'driver/gyro_l3gd20h.c')
-rw-r--r--driver/gyro_l3gd20h.c19
1 files changed, 5 insertions, 14 deletions
diff --git a/driver/gyro_l3gd20h.c b/driver/gyro_l3gd20h.c
index 4fcaf15ed0..77dd888542 100644
--- a/driver/gyro_l3gd20h.c
+++ b/driver/gyro_l3gd20h.c
@@ -134,14 +134,13 @@ static inline int raw_write8(const int port, const int addr, const int reg,
return i2c_write8(port, addr, reg, data);
}
-static int set_range(const struct motion_sensor_t *s,
+static int set_range(struct motion_sensor_t *s,
int range,
int rnd)
{
int ret, ctrl_val, range_tbl_size;
uint8_t ctrl_reg, reg_val;
const struct gyro_param_pair *ranges;
- struct l3gd20_data *data = (struct l3gd20_data *)s->drv_data;
ctrl_reg = L3GD20_CTRL_REG4;
ranges = get_range_table(s->type, &range_tbl_size);
@@ -163,21 +162,14 @@ static int set_range(const struct motion_sensor_t *s,
/* Now that we have set the range, update the driver's value. */
if (ret == EC_SUCCESS)
- data->base.range = get_engineering_val(reg_val, ranges,
- range_tbl_size);
+ s->current_range = get_engineering_val(reg_val, ranges,
+ range_tbl_size);
gyro_cleanup:
mutex_unlock(s->mutex);
return EC_SUCCESS;
}
-static int get_range(const struct motion_sensor_t *s)
-{
- struct l3gd20_data *data = (struct l3gd20_data *)s->drv_data;
-
- return data->base.range;
-}
-
static int get_resolution(const struct motion_sensor_t *s)
{
return L3GD20_RESOLUTION;
@@ -349,14 +341,14 @@ static int read(const struct motion_sensor_t *s, intv3_t v)
rotate(v, *s->rot_standard_ref, v);
/* apply offset in the device coordinates */
- range = get_range(s);
+ range = s->current_range;
for (i = X; i <= Z; i++)
v[i] += (data->offset[i] << 5) / range;
return EC_SUCCESS;
}
-static int init(const struct motion_sensor_t *s)
+static int init(struct motion_sensor_t *s)
{
int ret = 0, tmp;
@@ -392,7 +384,6 @@ const struct accelgyro_drv l3gd20h_drv = {
.init = init,
.read = read,
.set_range = set_range,
- .get_range = get_range,
.get_resolution = get_resolution,
.set_data_rate = set_data_rate,
.get_data_rate = get_data_rate,