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-10-12 15:10:22 +0000
commit8c2d908dce26a5c43982d83bc14f75c9f205ed6d (patch)
treef5fcab5cdd2b645fa29d1bcbee4e4ed5d2d32773
parent10c534dbe9037e15aca10fe29c2953cb5696cdc8 (diff)
downloadchrome-ec-8c2d908dce26a5c43982d83bc14f75c9f205ed6d.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 Conflicts: driver/accelgyro_bmi_common.c: 851daf728d: motion orientation interface 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> (cherry picked from commit 8b37b17df0b8946763b1da984c64c51418a6b381) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3213986 Tested-by: Rong Chang <rongchang@chromium.org> Auto-Submit: Rong Chang <rongchang@chromium.org> Commit-Queue: Rong Chang <rongchang@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--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 7681a5b391..a417915e3b 100644
--- a/driver/accelgyro_bmi160.c
+++ b/driver/accelgyro_bmi160.c
@@ -340,16 +340,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
#ifdef CONFIG_ACCEL_INTERRUPTS
@@ -732,7 +722,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
};
diff --git a/driver/accelgyro_bmi260.c b/driver/accelgyro_bmi260.c
index 4e682bed8c..6acdfafa91 100644
--- a/driver/accelgyro_bmi260.c
+++ b/driver/accelgyro_bmi260.c
@@ -257,18 +257,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
/**
@@ -510,7 +498,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
};
diff --git a/driver/accelgyro_bmi_common.c b/driver/accelgyro_bmi_common.c
index f348edb1c5..e721544b5d 100644
--- a/driver/accelgyro_bmi_common.c
+++ b/driver/accelgyro_bmi_common.c
@@ -875,3 +875,12 @@ void bmi_set_gyro_offset(const struct motion_sensor_t *gyro, intv3_t v,
}
}
+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/driver/accelgyro_bmi_common.h b/driver/accelgyro_bmi_common.h
index 583d43b04d..1186ab8ef2 100644
--- a/driver/accelgyro_bmi_common.h
+++ b/driver/accelgyro_bmi_common.h
@@ -340,4 +340,7 @@ void bmi_set_accel_offset(const struct motion_sensor_t *accel, intv3_t v);
void 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 */