From 23de40774b7c86ec932ac6001d7c4b257fddd0d4 Mon Sep 17 00:00:00 2001 From: Nicolas Norvez Date: Sun, 30 Sep 2018 16:12:04 -0700 Subject: 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 Reviewed-on: https://chromium-review.googlesource.com/1252459 Reviewed-by: Prashant Malani Reviewed-by: Nicolas Boichat (cherry picked from commit f7882a11b335dd67597bc0cb230acf1f0a81cd67) Reviewed-on: https://chromium-review.googlesource.com/c/1265056 --- common/fpsensor.c | 1 + include/ec_commands.h | 1 + util/ectool.c | 7 ++++--- 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; -- cgit v1.2.1