summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGwendal Grignou <gwendal@chromium.org>2021-09-08 10:20:58 -0700
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-05-16 10:00:21 +0000
commit063aa5b925361851540e35a9d3da122cc881179e (patch)
tree5e753ad72934a38965b58de74019843d1c24d76e
parent9c20af1aee1856e36b68f6aeca2910e5ee76cd46 (diff)
downloadchrome-ec-063aa5b925361851540e35a9d3da122cc881179e.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> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3631906 Commit-Queue: Henry Sun <henrysun@google.com> Tested-by: Zick Wei <zick.wei@quanta.corp-partner.google.com> Reviewed-by: Henry Sun <henrysun@google.com>
-rw-r--r--driver/accelgyro_bmi160.c14
-rw-r--r--driver/accelgyro_bmi260.c15
-rw-r--r--driver/accelgyro_bmi_common.c9
-rw-r--r--driver/accelgyro_bmi_common.h3
4 files changed, 14 insertions, 27 deletions
diff --git a/driver/accelgyro_bmi160.c b/driver/accelgyro_bmi160.c
index 8aa5af4098..56adc82560 100644
--- a/driver/accelgyro_bmi160.c
+++ b/driver/accelgyro_bmi160.c
@@ -322,18 +322,6 @@ int manage_activity(const struct motion_sensor_t *s,
return ret;
}
-#ifdef CONFIG_GESTURE_HOST_DETECTION
-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
/**
@@ -671,7 +659,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 79cc4e09ed..c7073d41af 100644
--- a/driver/accelgyro_bmi260.c
+++ b/driver/accelgyro_bmi260.c
@@ -257,19 +257,6 @@ end_perform_calib:
set_data_rate(s, rate, 0);
return ret;
}
-
-#ifdef CONFIG_GESTURE_HOST_DETECTION
-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
/**
@@ -506,7 +493,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 3d5a57b750..a7214ee212 100644
--- a/driver/accelgyro_bmi_common.c
+++ b/driver/accelgyro_bmi_common.c
@@ -870,3 +870,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 238bb20947..f88c2f952b 100644
--- a/driver/accelgyro_bmi_common.h
+++ b/driver/accelgyro_bmi_common.h
@@ -354,4 +354,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 */