From: Arnd Bergmann Date: Tue, 9 Feb 2021 15:09:32 +0000 (+0100) Subject: Merge tag 'optee-simplify-i2c-access_for-v5.12' of git://git.linaro.org/people/jens... X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=d0236f17c31981b07f21eb824da10fabc7f0d8f8;p=linux.git Merge tag 'optee-simplify-i2c-access_for-v5.12' of git://git.linaro.org/people/jens.wiklander/linux-tee into arm/drivers Simplify i2c acess in OP-TEE driver * tag 'optee-simplify-i2c-access_for-v5.12' of git://git.linaro.org/people/jens.wiklander/linux-tee: optee: simplify i2c access Link: https://lore.kernel.org/soc/20210208125853.GA288348%40jade Signed-off-by: Arnd Bergmann --- d0236f17c31981b07f21eb824da10fabc7f0d8f8 diff --cc drivers/tee/optee/rpc.c index a0c30b664e53c,6cbb3643c6c48..1849180b0278b --- a/drivers/tee/optee/rpc.c +++ b/drivers/tee/optee/rpc.c @@@ -86,34 -86,32 +87,32 @@@ static void handle_rpc_func_cmd_i2c_tra goto bad; } - client.adapter = i2c_get_adapter(params[0].u.value.b); - if (!client.adapter) + adapter = i2c_get_adapter(params[0].u.value.b); + if (!adapter) goto bad; - if (params[1].u.value.a & OPTEE_MSG_RPC_CMD_I2C_FLAGS_TEN_BIT) { + if (params[1].u.value.a & OPTEE_RPC_I2C_FLAGS_TEN_BIT) { - if (!i2c_check_functionality(client.adapter, + if (!i2c_check_functionality(adapter, I2C_FUNC_10BIT_ADDR)) { - i2c_put_adapter(client.adapter); + i2c_put_adapter(adapter); goto bad; } - client.flags = I2C_CLIENT_TEN; + msg.flags = I2C_M_TEN; } - client.addr = params[0].u.value.c; - snprintf(client.name, I2C_NAME_SIZE, "i2c%d", client.adapter->nr); + msg.addr = params[0].u.value.c; + msg.buf = params[2].u.memref.shm->kaddr; + msg.len = params[2].u.memref.size; switch (params[0].u.value.a) { - case OPTEE_MSG_RPC_CMD_I2C_TRANSFER_RD: + case OPTEE_RPC_I2C_TRANSFER_RD: - ret = i2c_master_recv(&client, params[2].u.memref.shm->kaddr, - params[2].u.memref.size); + msg.flags |= I2C_M_RD; break; - case OPTEE_MSG_RPC_CMD_I2C_TRANSFER_WR: + case OPTEE_RPC_I2C_TRANSFER_WR: - ret = i2c_master_send(&client, params[2].u.memref.shm->kaddr, - params[2].u.memref.size); break; default: - i2c_put_adapter(client.adapter); + i2c_put_adapter(adapter); goto bad; }