am c124b23f: keymaster: use new version fields in hw_module

* commit 'c124b23f94a0a88e872253720c0e27594a9a9938':
  keymaster: use new version fields in hw_module
This commit is contained in:
Kenny Root 2013-09-05 00:30:25 -07:00 committed by Android Git Automerger
commit 474cbcbb2e
2 changed files with 11 additions and 9 deletions

View file

@ -33,11 +33,13 @@ __BEGIN_DECLS
#define KEYSTORE_KEYMASTER "keymaster"
/**
* The API level of this version of the header. The allows the implementing
* module to recognize which API level of the client it is dealing with in
* the case of pre-compiled binary clients.
* Settings for "module_api_version" and "hal_api_version"
* fields in the keymaster_module initialization.
*/
#define KEYMASTER_API_VERSION 2
#define KEYMASTER_HEADER_VERSION 2
#define KEYMASTER_MODULE_API_VERSION_0_2 HARDWARE_MODULE_API_VERSION(0, 2)
#define KEYMASTER_DEVICE_API_VERSION_0_2 HARDWARE_DEVICE_API_VERSION_2(0, 2, KEYMASTER_HEADER_VERSION)
/**
* Flags for keymaster_device::flags
@ -139,6 +141,10 @@ typedef struct {
struct keymaster_device {
struct hw_device_t common;
/**
* THIS IS DEPRECATED. Use the new "module_api_version" and "hal_api_version"
* fields in the keymaster_module initialization instead.
*/
uint32_t client_version;
/**
@ -238,10 +244,6 @@ static inline int keymaster_open(const struct hw_module_t* module,
int rc = module->methods->open(module, KEYSTORE_KEYMASTER,
(struct hw_device_t**) device);
if (!rc) {
(*device)->client_version = KEYMASTER_API_VERSION;
}
return rc;
}

View file

@ -343,7 +343,7 @@ public:
ASSERT_EQ(0, keymaster_open(mod, &sDevice))
<< "Should be able to open the keymaster device";
ASSERT_EQ(2U, sDevice->client_version)
ASSERT_EQ(KEYMASTER_MODULE_API_VERSION_0_2, mod->module_api_version)
<< "Keymaster should implement API version 2";
ASSERT_TRUE(sDevice->generate_keypair != NULL)