tee: remove linked list of struct tee_shm
authorJens Wiklander <jens.wiklander@linaro.org>
Thu, 7 Nov 2019 10:42:49 +0000 (11:42 +0100)
committerJens Wiklander <jens.wiklander@linaro.org>
Fri, 28 Feb 2020 12:37:42 +0000 (13:37 +0100)
Removes list_shm from struct tee_context since the linked list isn't used
any longer.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
drivers/tee/tee_core.c
drivers/tee/tee_shm.c
include/linux/tee_drv.h

index 37d22e3..6aec502 100644 (file)
@@ -44,7 +44,6 @@ static struct tee_context *teedev_open(struct tee_device *teedev)
 
        kref_init(&ctx->refcount);
        ctx->teedev = teedev;
-       INIT_LIST_HEAD(&ctx->list_shm);
        rc = teedev->desc->ops->open(ctx);
        if (rc)
                goto err;
index 937ac5a..99f1c89 100644 (file)
@@ -17,8 +17,6 @@ static void tee_shm_release(struct tee_shm *shm)
 
        mutex_lock(&teedev->mutex);
        idr_remove(&teedev->idr, shm->id);
-       if (shm->ctx)
-               list_del(&shm->link);
        mutex_unlock(&teedev->mutex);
 
        if (shm->flags & TEE_SHM_POOL) {
@@ -168,12 +166,8 @@ static struct tee_shm *__tee_shm_alloc(struct tee_context *ctx,
                }
        }
 
-       if (ctx) {
+       if (ctx)
                teedev_ctx_get(ctx);
-               mutex_lock(&teedev->mutex);
-               list_add_tail(&shm->link, &ctx->list_shm);
-               mutex_unlock(&teedev->mutex);
-       }
 
        return shm;
 err_rem:
@@ -301,10 +295,6 @@ struct tee_shm *tee_shm_register(struct tee_context *ctx, unsigned long addr,
                }
        }
 
-       mutex_lock(&teedev->mutex);
-       list_add_tail(&shm->link, &ctx->list_shm);
-       mutex_unlock(&teedev->mutex);
-
        return shm;
 err:
        if (shm) {
index 7a03f68..cbddb88 100644 (file)
@@ -49,7 +49,6 @@ struct tee_shm_pool;
  */
 struct tee_context {
        struct tee_device *teedev;
-       struct list_head list_shm;
        void *data;
        struct kref refcount;
        bool releasing;
@@ -170,7 +169,6 @@ void tee_device_unregister(struct tee_device *teedev);
  * struct tee_shm - shared memory object
  * @teedev:    device used to allocate the object
  * @ctx:       context using the object, if NULL the context is gone
- * @link       link element
  * @paddr:     physical address of the shared memory
  * @kaddr:     virtual address of the shared memory
  * @size:      size of shared memory
@@ -187,7 +185,6 @@ void tee_device_unregister(struct tee_device *teedev);
 struct tee_shm {
        struct tee_device *teedev;
        struct tee_context *ctx;
-       struct list_head link;
        phys_addr_t paddr;
        void *kaddr;
        size_t size;