OP-TEE bus provides reference to registered drivers under this directory. The <uuid>
                matches Trusted Application (TA) driver and corresponding TA in secure OS. Drivers
                are free to create needed API under optee-ta-<uuid> directory.
+
+What:          /sys/bus/tee/devices/optee-ta-<uuid>/need_supplicant
+Date:          November 2023
+KernelVersion: 6.7
+Contact:       op-tee@lists.trustedfirmware.org
+Description:
+               Allows to distinguish whether an OP-TEE based TA/device requires user-space
+               tee-supplicant to function properly or not. This attribute will be present for
+               devices which depend on tee-supplicant to be running.
 
        kfree(optee_device);
 }
 
-static int optee_register_device(const uuid_t *device_uuid)
+static ssize_t need_supplicant_show(struct device *dev,
+                                   struct device_attribute *attr,
+                                   char *buf)
+{
+       return 0;
+}
+
+static DEVICE_ATTR_RO(need_supplicant);
+
+static int optee_register_device(const uuid_t *device_uuid, u32 func)
 {
        struct tee_client_device *optee_device = NULL;
        int rc;
                put_device(&optee_device->dev);
        }
 
+       if (func == PTA_CMD_GET_DEVICES_SUPP)
+               device_create_file(&optee_device->dev,
+                                  &dev_attr_need_supplicant);
+
        return rc;
 }
 
        num_devices = shm_size / sizeof(uuid_t);
 
        for (idx = 0; idx < num_devices; idx++) {
-               rc = optee_register_device(&device_uuid[idx]);
+               rc = optee_register_device(&device_uuid[idx], func);
                if (rc)
                        goto out_shm;
        }