summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Norvez <norvez@chromium.org>2018-09-30 16:12:04 -0700
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2018-10-05 16:15:32 +0000
commit23de40774b7c86ec932ac6001d7c4b257fddd0d4 (patch)
tree3cd57a06fe92cab5abfcde2b4b23be39215114ff
parentcbf90345d9f4d364dd6f0d1341d38a71491df7e3 (diff)
downloadchrome-ec-23de40774b7c86ec932ac6001d7c4b257fddd0d4.tar.gz
fpsensor: FP_INFO reports the template version
Add a field to the ec_response_fp_info structure to report the version of the template format supported by the hardware. We'd normally uprev the structure version, but given there are only 2 clients of that API (ectool and biod), we'll rather synchronise the submission of the CLs to avoid unnecessary complexity. BRANCH=nocturne BUG=b:116979455 TEST=ectool --name=cros_fp fpinfo TEST=start biod, log shows the format version Change-Id: Ibbf2a3603d4f28c7550523f785aeb7fb740ac9ea Signed-off-by: Nicolas Norvez <norvez@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1252459 Reviewed-by: Prashant Malani <pmalani@chromium.org> Reviewed-by: Nicolas Boichat <drinkcat@chromium.org> (cherry picked from commit f7882a11b335dd67597bc0cb230acf1f0a81cd67) Reviewed-on: https://chromium-review.googlesource.com/c/1265056
-rw-r--r--common/fpsensor.c1
-rw-r--r--include/ec_commands.h1
-rw-r--r--util/ectool.c7
3 files changed, 6 insertions, 3 deletions
diff --git a/common/fpsensor.c b/common/fpsensor.c
index f41f8013bd..26ab78bda0 100644
--- a/common/fpsensor.c
+++ b/common/fpsensor.c
@@ -396,6 +396,7 @@ static int fp_command_info(struct host_cmd_handler_args *args)
r->template_max = FP_MAX_FINGER_COUNT;
r->template_valid = templ_valid;
r->template_dirty = templ_dirty;
+ r->template_version = FP_TEMPLATE_FORMAT_VERSION;
/* V1 is identical to V0 with more information appended */
args->response_size = args->version ? sizeof(*r) :
diff --git a/include/ec_commands.h b/include/ec_commands.h
index e45e56911c..54c7827231 100644
--- a/include/ec_commands.h
+++ b/include/ec_commands.h
@@ -5022,6 +5022,7 @@ struct __ec_align4 ec_response_fp_info {
uint16_t template_max; /* maximum number of fingers/templates */
uint16_t template_valid; /* number of valid fingers/templates */
uint32_t template_dirty; /* bitmap of templates with MCU side changes */
+ uint32_t template_version; /* version of the template format */
};
/* Get the last captured finger frame or a template content */
diff --git a/util/ectool.c b/util/ectool.c
index c2ce4dc8da..dbb995e10a 100644
--- a/util/ectool.c
+++ b/util/ectool.c
@@ -1503,9 +1503,10 @@ int cmd_fp_info(int argc, char *argv[])
}
if (cmdver == 1) {
- printf("Templates: size %d count %d/%d dirty bitmap %x\n",
- r.template_size, r.template_valid, r.template_max,
- r.template_dirty);
+ printf("Templates: version %d size %d count %d/%d"
+ " dirty bitmap %x\n",
+ r.template_version, r.template_size, r.template_valid,
+ r.template_max, r.template_dirty);
}
return 0;