diff options
author | Craig Hesling <hesling@chromium.org> | 2020-08-14 13:17:28 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-08-15 00:31:30 +0000 |
commit | 16f541417ac84949c9b9e02152422e4131672e38 (patch) | |
tree | 4345adf9742b88fcbd8bf98aa5e613a99a5f205e | |
parent | 86c55038ec6a43db5ae677defd575da7651b8602 (diff) | |
download | chrome-ec-16f541417ac84949c9b9e02152422e4131672e38.tar.gz |
fingerprint: Stopgap to repair public builds
This repairs building bloonchipper and dartmonkey builds
when private lib is unavailable.
There are two issues this remedies:
1) Redefinition of sensor info macros, like FP_SENSOR_RES_X
2) Undefined reference to fp_sensor_maintenance when building
bloonchipper/dartmonkey non-private image.
All of these issues stem from the way we handle code
when HAVE_FP_PRIVATE_DRIVER is set or faked by a test.
This is a fundamental issues that needs some thought and refactoring.
BRANCH=none
BUG=b:164174822,b:163109916, b:163411883
TEST=# With private
time make buildall -j
TEST=# Without private
time make buildall -j
TEST=# With private libs
# Cherry-pick https://crrev.com/c/2357870 first, then
# this patch.
./util/compare_build.sh -b all -o
# This confirms that the all output binaries with private-lib
# did not change at all
Signed-off-by: Craig Hesling <hesling@chromium.org>
Change-Id: If71e3376fb7a904b77f2fc9fc56c8e0daf54db3b
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2357430
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
Reviewed-by: YH Lin <yueherngl@chromium.org>
-rw-r--r-- | common/fpsensor/fpsensor.c | 5 | ||||
-rw-r--r-- | driver/fingerprint/fpc/fpc_sensor.c | 10 |
2 files changed, 13 insertions, 2 deletions
diff --git a/common/fpsensor/fpsensor.c b/common/fpsensor/fpsensor.c index 035dc7da5a..01a6157cda 100644 --- a/common/fpsensor/fpsensor.c +++ b/common/fpsensor/fpsensor.c @@ -830,10 +830,13 @@ int command_fpclear(int argc, char **argv) DECLARE_CONSOLE_COMMAND(fpclear, command_fpclear, NULL, "Clear fingerprint sensor context"); - int command_fpmaintenance(int argc, char **argv) { +#ifdef HAVE_FP_PRIVATE_DRIVER return fp_maintenance(); +#else + return EC_SUCCESS; +#endif /* #ifdef HAVE_FP_PRIVATE_DRIVER */ } DECLARE_CONSOLE_COMMAND(fpmaintenance, command_fpmaintenance, NULL, "Run fingerprint sensor maintenance"); diff --git a/driver/fingerprint/fpc/fpc_sensor.c b/driver/fingerprint/fpc/fpc_sensor.c index 92a3db51c9..a15502521f 100644 --- a/driver/fingerprint/fpc/fpc_sensor.c +++ b/driver/fingerprint/fpc/fpc_sensor.c @@ -14,7 +14,15 @@ #else #error "Sensor type not defined!" #endif -#include "fpc_sensor.h" + +/* + * TODO(b/164174822): We cannot include fpc_sensor.h here, since + * the parent fpsensor.h header conditionally excludes fpc_sensor.h + * and replaces its content with default macros. + * Fix this header discrepancy. + * + * #include "fpc_sensor.h" + */ int fpc_fp_maintenance(uint16_t *error_state) { |