Re: [PATCH 8/9] tee: optee: Drop ffa_ops in optee_ffa structure

Sumit Garg
2022-08-31T10:58:18Z

On Tue, 30 Aug 2022 at 15:40, Sudeep Holla <sudeep.holla@arm.com> wrote:
>
> Since the ffa_device itself carries ffa_dev_ops now, there is no need
> to keep a copy in optee_ffa structure.
>
> Drop ffa_ops in the optee_ffa structure as it is not needed anymore.
>
> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
> ---
> drivers/tee/optee/ffa_abi.c | 9 ++++-----
> drivers/tee/optee/optee_private.h | 1 -
> 2 files changed, 4 insertions(+), 6 deletions(-)
>

Is this patch doing anything different from patch #2? If not then I
think both should be squashed.

-Sumit

> diff --git a/drivers/tee/optee/ffa_abi.c b/drivers/tee/optee/ffa_abi.c
> index 7ec0a2f9a63b..7257b42d0545 100644
> --- a/drivers/tee/optee/ffa_abi.c
> +++ b/drivers/tee/optee/ffa_abi.c
> @@ -271,8 +271,8 @@ static int optee_ffa_shm_register(struct tee_context *ctx, struct tee_shm *shm,
> unsigned long start)
> {
> struct optee *optee = tee_get_drvdata(ctx->teedev);
> - const struct ffa_dev_ops *ffa_ops = optee->ffa.ffa_ops;
> struct ffa_device *ffa_dev = optee->ffa.ffa_dev;
> + const struct ffa_dev_ops *ffa_ops = ffa_dev->ops;
> struct ffa_mem_region_attributes mem_attr = {
> .receiver = ffa_dev->vm_id,
> .attrs = FFA_MEM_RW,
> @@ -314,8 +314,8 @@ static int optee_ffa_shm_unregister(struct tee_context *ctx,
> struct tee_shm *shm)
> {
> struct optee *optee = tee_get_drvdata(ctx->teedev);
> - const struct ffa_dev_ops *ffa_ops = optee->ffa.ffa_ops;
> struct ffa_device *ffa_dev = optee->ffa.ffa_dev;
> + const struct ffa_dev_ops *ffa_ops = ffa_dev->ops;
> u64 global_handle = shm->sec_world_id;
> struct ffa_send_direct_data data = {
> .data0 = OPTEE_FFA_UNREGISTER_SHM,
> @@ -342,7 +342,7 @@ static int optee_ffa_shm_unregister_supp(struct tee_context *ctx,
> struct tee_shm *shm)
> {
> struct optee *optee = tee_get_drvdata(ctx->teedev);
> - const struct ffa_dev_ops *ffa_ops = optee->ffa.ffa_ops;
> + const struct ffa_dev_ops *ffa_ops = optee->ffa.ffa_dev->ops;
> u64 global_handle = shm->sec_world_id;
> int rc;
>
> @@ -529,8 +529,8 @@ static int optee_ffa_yielding_call(struct tee_context *ctx,
> struct optee_msg_arg *rpc_arg)
> {
> struct optee *optee = tee_get_drvdata(ctx->teedev);
> - const struct ffa_dev_ops *ffa_ops = optee->ffa.ffa_ops;
> struct ffa_device *ffa_dev = optee->ffa.ffa_dev;
> + const struct ffa_dev_ops *ffa_ops = ffa_dev->ops;
> struct optee_call_waiter w;
> u32 cmd = data->data0;
> u32 w4 = data->data1;
> @@ -817,7 +817,6 @@ static int optee_ffa_probe(struct ffa_device *ffa_dev)
>
> optee->ops = &optee_ffa_ops;
> optee->ffa.ffa_dev = ffa_dev;
> - optee->ffa.ffa_ops = ffa_ops;
> optee->rpc_param_count = rpc_param_count;
>
> teedev = tee_device_alloc(&optee_ffa_clnt_desc, NULL, optee->pool,
> diff --git a/drivers/tee/optee/optee_private.h b/drivers/tee/optee/optee_private.h
> index a33d98d17cfd..04ae58892608 100644
> --- a/drivers/tee/optee/optee_private.h
> +++ b/drivers/tee/optee/optee_private.h
> @@ -111,7 +111,6 @@ struct optee_smc {
> */
> struct optee_ffa {
> struct ffa_device *ffa_dev;
> - const struct ffa_dev_ops *ffa_ops;
> /* Serializes access to @global_ids */
> struct mutex mutex;
> struct rhashtable global_ids;
> --
> 2.37.2
>