diff options
author | Nicolas Norvez <norvez@chromium.org> | 2018-09-30 16:12:04 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-10-02 05:19:57 -0700 |
commit | f7882a11b335dd67597bc0cb230acf1f0a81cd67 (patch) | |
tree | ee0559e39431b9cc021d18200af68e3abddf65fc | |
parent | d92cb76f16a1ddd9e1e14276d7d0fae5618264a3 (diff) | |
download | chrome-ec-f7882a11b335dd67597bc0cb230acf1f0a81cd67.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>
-rw-r--r-- | common/fpsensor.c | 1 | ||||
-rw-r--r-- | include/ec_commands.h | 1 | ||||
-rw-r--r-- | util/ectool.c | 7 |
3 files changed, 6 insertions, 3 deletions
diff --git a/common/fpsensor.c b/common/fpsensor.c index 9f70c8bd08..dec669ec9a 100644 --- a/common/fpsensor.c +++ b/common/fpsensor.c @@ -505,6 +505,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 f4f7f75886..d15528c6a5 100644 --- a/include/ec_commands.h +++ b/include/ec_commands.h @@ -5051,6 +5051,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 b29ddd7e03..7fcc0414d2 100644 --- a/util/ectool.c +++ b/util/ectool.c @@ -1526,9 +1526,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; |