optee: use uuid for sysfs driver entry
With the evolving use-cases for TEE bus, now it's required to support multi-stage enumeration process. But using a simple index doesn't suffice this requirement and instead leads to duplicate sysfs entries. So instead switch to use more informative device UUID for sysfs entry like: /sys/bus/tee/devices/optee-ta-<uuid> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Sumit Garg <sumit.garg@linaro.org> Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> Tested-by: Sumit Garg <sumit.garg@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
This commit is contained in:

committed by
Jens Wiklander

parent
3d77e6a880
commit
58df195cd4
@@ -65,7 +65,7 @@ static int get_devices(struct tee_context *ctx, u32 session,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int optee_register_device(const uuid_t *device_uuid, u32 device_id)
|
||||
static int optee_register_device(const uuid_t *device_uuid)
|
||||
{
|
||||
struct tee_client_device *optee_device = NULL;
|
||||
int rc;
|
||||
@@ -75,7 +75,10 @@ static int optee_register_device(const uuid_t *device_uuid, u32 device_id)
|
||||
return -ENOMEM;
|
||||
|
||||
optee_device->dev.bus = &tee_bus_type;
|
||||
dev_set_name(&optee_device->dev, "optee-clnt%u", device_id);
|
||||
if (dev_set_name(&optee_device->dev, "optee-ta-%pUb", device_uuid)) {
|
||||
kfree(optee_device);
|
||||
return -ENOMEM;
|
||||
}
|
||||
uuid_copy(&optee_device->id.uuid, device_uuid);
|
||||
|
||||
rc = device_register(&optee_device->dev);
|
||||
@@ -144,7 +147,7 @@ int optee_enumerate_devices(void)
|
||||
num_devices = shm_size / sizeof(uuid_t);
|
||||
|
||||
for (idx = 0; idx < num_devices; idx++) {
|
||||
rc = optee_register_device(&device_uuid[idx], idx);
|
||||
rc = optee_register_device(&device_uuid[idx]);
|
||||
if (rc)
|
||||
goto out_shm;
|
||||
}
|
||||
|
Reference in New Issue
Block a user