summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGwendal Grignou <gwendal@chromium.org>2021-09-08 10:20:58 -0700
committerCommit Bot <commit-bot@chromium.org>2021-09-10 22:23:23 +0000
commit8b37b17df0b8946763b1da984c64c51418a6b381 (patch)
treeb1057252d527317b1dc8f1040893b4e9edf2730a
parentb41956ce171f969721974a73d7b80a947610cbb7 (diff)
downloadchrome-ec-8b37b17df0b8946763b1da984c64c51418a6b381.tar.gz
driver: bmi: Merge list_activities in common code
Put list_activities in common code, as it is used by both BMI160 and BMI260 driver. Fixes cb3771973de ("Coachz: MotionSensor: Avoid redefine gesture function list_activites") Fixes fc298a0ada0 ("driver: bmi260: integrate body detection") BUG=b:195908820 BRANCH=trogdor TEST=buildall Change-Id: I05591954c825802502328c842b03e8934c497f08 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3150056 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
-rw-r--r--driver/accelgyro_bmi160.c12
-rw-r--r--driver/accelgyro_bmi260.c14
-rw-r--r--driver/accelgyro_bmi_common.c9
-rw-r--r--include/driver/accelgyro_bmi_common.h3
4 files changed, 14 insertions, 24 deletions
diff --git a/driver/accelgyro_bmi160.c b/driver/accelgyro_bmi160.c
index 78958ee5c9..f92f61d181 100644
--- a/driver/accelgyro_bmi160.c
+++ b/driver/accelgyro_bmi160.c
@@ -385,16 +385,6 @@ static int manage_activity(const struct motion_sensor_t *s,
}
return ret;
}
-
-static int list_activities(const struct motion_sensor_t *s,
- uint32_t *enabled,
- uint32_t *disabled)
-{
- struct bmi_drv_data_t *data = BMI_GET_DATA(s);
- *enabled = data->enabled_activities;
- *disabled = data->disabled_activities;
- return EC_RES_SUCCESS;
-}
#endif
static __maybe_unused int config_interrupt(const struct motion_sensor_t *s)
@@ -761,7 +751,7 @@ const struct accelgyro_drv bmi160_drv = {
#endif
#ifdef CONFIG_GESTURE_HOST_DETECTION
.manage_activity = manage_activity,
- .list_activities = list_activities,
+ .list_activities = bmi_list_activities,
#endif
#ifdef CONFIG_BODY_DETECTION
.get_rms_noise = bmi_get_rms_noise,
diff --git a/driver/accelgyro_bmi260.c b/driver/accelgyro_bmi260.c
index 3e76788366..9fb669e122 100644
--- a/driver/accelgyro_bmi260.c
+++ b/driver/accelgyro_bmi260.c
@@ -282,18 +282,6 @@ end_perform_calib:
return ret;
}
-#ifdef CONFIG_GESTURE_HOST_DETECTION
-static int list_activities(const struct motion_sensor_t *s,
- uint32_t *enabled,
- uint32_t *disabled)
-{
- struct bmi_drv_data_t *data = BMI_GET_DATA(s);
- *enabled = data->enabled_activities;
- *disabled = data->disabled_activities;
- return EC_RES_SUCCESS;
-}
-#endif
-
#ifdef CONFIG_ACCEL_INTERRUPTS
/**
@@ -593,7 +581,7 @@ const struct accelgyro_drv bmi260_drv = {
.irq_handler = irq_handler,
#endif
#ifdef CONFIG_GESTURE_HOST_DETECTION
- .list_activities = list_activities,
+ .list_activities = bmi_list_activities,
#endif
#ifdef CONFIG_BODY_DETECTION
.get_rms_noise = bmi_get_rms_noise,
diff --git a/driver/accelgyro_bmi_common.c b/driver/accelgyro_bmi_common.c
index 5bd7cef42c..2da407427e 100644
--- a/driver/accelgyro_bmi_common.c
+++ b/driver/accelgyro_bmi_common.c
@@ -891,3 +891,12 @@ void motion_orientation_update(const struct motion_sensor_t *s)
}
#endif
+int bmi_list_activities(const struct motion_sensor_t *s,
+ uint32_t *enabled,
+ uint32_t *disabled)
+{
+ struct bmi_drv_data_t *data = BMI_GET_DATA(s);
+ *enabled = data->enabled_activities;
+ *disabled = data->disabled_activities;
+ return EC_RES_SUCCESS;
+}
diff --git a/include/driver/accelgyro_bmi_common.h b/include/driver/accelgyro_bmi_common.h
index c403999c5a..6e1ed122b3 100644
--- a/include/driver/accelgyro_bmi_common.h
+++ b/include/driver/accelgyro_bmi_common.h
@@ -313,4 +313,7 @@ int bmi_set_accel_offset(const struct motion_sensor_t *accel, intv3_t v);
int bmi_set_gyro_offset(const struct motion_sensor_t *gyro, intv3_t v,
int *val98_ptr);
+int bmi_list_activities(const struct motion_sensor_t *s,
+ uint32_t *enabled,
+ uint32_t *disabled);
#endif /* __CROS_EC_ACCELGYRO_BMI_COMMON_H */