tee: remove redundant teedev in struct tee_shm
authorJens Wiklander <jens.wiklander@linaro.org>
Thu, 7 Nov 2019 10:42:59 +0000 (11:42 +0100)
committerJens Wiklander <jens.wiklander@linaro.org>
Fri, 28 Feb 2020 12:37:42 +0000 (13:37 +0100)
The ctx element in struct tee_shm is always valid. So remove the now
redundant teedev element.

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

index 02210f179ae36898aa4d537ab8c55e30fca24737..b01d2b7eea7173ea45a8df8cc17a14a860f3079a 100644 (file)
@@ -13,7 +13,7 @@
 
 static void tee_shm_release(struct tee_shm *shm)
 {
-       struct tee_device *teedev = shm->teedev;
+       struct tee_device *teedev = shm->ctx->teedev;
 
        if (shm->flags & TEE_SHM_DMA_BUF) {
                mutex_lock(&teedev->mutex);
@@ -44,8 +44,7 @@ static void tee_shm_release(struct tee_shm *shm)
                kfree(shm->pages);
        }
 
-       if (shm->ctx)
-               teedev_ctx_put(shm->ctx);
+       teedev_ctx_put(shm->ctx);
 
        kfree(shm);
 
@@ -126,7 +125,6 @@ struct tee_shm *tee_shm_alloc(struct tee_context *ctx, size_t size, u32 flags)
        }
 
        shm->flags = flags | TEE_SHM_POOL;
-       shm->teedev = teedev;
        shm->ctx = ctx;
        if (flags & TEE_SHM_DMA_BUF)
                poolm = teedev->pool->dma_buf_mgr;
@@ -215,7 +213,6 @@ struct tee_shm *tee_shm_register(struct tee_context *ctx, unsigned long addr,
        }
 
        shm->flags = flags | TEE_SHM_REGISTER;
-       shm->teedev = teedev;
        shm->ctx = ctx;
        shm->id = -1;
        addr = untagged_addr(addr);
index 42687f6c546d181a9af90dde0c69f738cdb99135..1412e9cc79ce9b73a9a03c3ea8a2eb359e400dac 100644 (file)
@@ -167,8 +167,7 @@ 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
+ * @ctx:       context using the object
  * @paddr:     physical address of the shared memory
  * @kaddr:     virtual address of the shared memory
  * @size:      size of shared memory
@@ -183,7 +182,6 @@ void tee_device_unregister(struct tee_device *teedev);
  * subsystem and from drivers that implements their own shm pool manager.
  */
 struct tee_shm {
-       struct tee_device *teedev;
        struct tee_context *ctx;
        phys_addr_t paddr;
        void *kaddr;