On 8/31/26 11:43 AM, Kuldeep Singh wrote:
Add a TPM chip driver for platforms where a TPM 2.0 instance is implemented by a Trusted Application (TA) running in Qualcomm's Trusted Execution Environment (QTEE), reachable over the QCOMTEE object-IPC transport.
[...]
+static int tpm_qcom_get_client_env_obj(struct tee_context *ctx,
struct tee_param_objref *client_env_obj)+{
- int ret;
- struct tee_ioctl_object_invoke_arg inv_arg;
- struct tee_param param[2];
nit: Reverse-Christmas-tree would be preferred
- memset(&inv_arg, 0, sizeof(inv_arg));
- memset(¶m, 0, sizeof(param));
You can zero-initialize local struct variables like this:
struct foo bar = { };
[...]
+static int tpm_qcom_send(struct tpm_chip *chip, u8 *buf, size_t bufsiz,
size_t cmd_len)+{
- struct tpm_qcom_private *pvt_data = dev_get_drvdata(chip->dev.parent);
- size_t rsp_len = PAGE_ALIGN(MAX_RESPONSE_SIZE);
- size_t copy_len;
- int ret;
- if (cmd_len > MAX_COMMAND_SIZE) {
dev_err(&chip->dev,"%s: len=%zd exceeds MAX_COMMAND_SIZE\n",__func__, cmd_len);
The name of the function isn't helpful here, this is the only time this message appears, so it's easy to grep
[...]
- err = tpm_chip_register(pvt_data->chip);
- if (err) {
dev_err(dev, "%s: tpm_chip_register failed with rc=%d\n",__func__, err);
Likewise
[...]
+#define QCOMTEE_TPM_GET_TA_VERSION_ID 0x0001000 +#define QCOMTEE_TPM_TA_VERSION_GET_MAJOR(ver) ((u32)(ver) >> 16) +#define QCOMTEE_TPM_TA_VERSION_GET_MINOR(ver) ((u32)(ver) & 0x0000ffffU)
That's FIELD_GET(mask, x)
Konrad