[PATCH 2/2] tee: optee: skip optee node fixup if method is NULL

Ahmad Fatoum a.fatoum at barebox.org
Wed Aug 6 05:52:29 PDT 2025


The function fixes up an OP-TEE node as well as reserved memory regions.
It can be useful to fix up the memory reservations, but not the OP-TEE
node itself, so let's make this possible if the method is NULL.

Signed-off-by: Ahmad Fatoum <a.fatoum at barebox.org>
---
 drivers/tee/optee/of_fixup.c | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

diff --git a/drivers/tee/optee/of_fixup.c b/drivers/tee/optee/of_fixup.c
index 5a3eb094f22d..152322901a7e 100644
--- a/drivers/tee/optee/of_fixup.c
+++ b/drivers/tee/optee/of_fixup.c
@@ -10,24 +10,27 @@ int of_optee_fixup(struct device_node *root, void *_data)
 	struct of_optee_fixup_data *fixup_data = _data;
 	const char *optee_of_path = "/firmware/optee";
 	struct resource res_core = {}, res_shm = {};
-	struct device_node *node;
 	u64 optee_membase;
 	int ret;
 
 	if (of_find_node_by_path_from(root, optee_of_path))
 		return 0;
 
-	node = of_create_node(root, optee_of_path);
-	if (!node)
-		return -ENOMEM;
+	if (fixup_data->method) {
+		struct device_node *node;
 
-	ret = of_property_write_string(node, "compatible", "linaro,optee-tz");
-	if (ret)
-		return ret;
+		node = of_create_node(root, optee_of_path);
+		if (!node)
+			return -ENOMEM;
 
-	ret = of_property_write_string(node, "method", fixup_data->method);
-	if (ret)
-		return ret;
+		ret = of_property_write_string(node, "compatible", "linaro,optee-tz");
+		if (ret)
+			return ret;
+
+		ret = of_property_write_string(node, "method", fixup_data->method);
+		if (ret)
+			return ret;
+	}
 
 	if (!optee_get_membase(&optee_membase)) {
 		res_core.start = optee_membase;
-- 
2.39.5




More information about the barebox mailing list