[PATCH 04/11] lib: sbi_domain: Introduce sbi_domain_find_by_name() function
Anup Patel
anup.patel at oss.qualcomm.com
Tue Sep 22 20:23:52 PDT 2026
Add sbi_domain_find_by_name() to allow driver locate domain instance
using domain name. This also means domain names must be unique.
Signed-off-by: Anup Patel <anup.patel at oss.qualcomm.com>
---
include/sbi/sbi_domain.h | 7 +++++++
lib/sbi/sbi_domain.c | 19 ++++++++++++++++++-
2 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/include/sbi/sbi_domain.h b/include/sbi/sbi_domain.h
index 1f773e41..394e7ddf 100644
--- a/include/sbi/sbi_domain.h
+++ b/include/sbi/sbi_domain.h
@@ -323,6 +323,13 @@ bool sbi_domain_check_addr_range(const struct sbi_domain *dom,
unsigned long mode,
unsigned long access_flags);
+/**
+ * Find a domain by name
+ * @param name Name of the domain
+ * @return pointer to the domain or NULL upon failure
+ */
+struct sbi_domain *sbi_domain_find_by_name(const char *name);
+
/** Dump domain details on the console */
void sbi_domain_dump(const struct sbi_domain *dom, const char *suffix);
diff --git a/lib/sbi/sbi_domain.c b/lib/sbi/sbi_domain.c
index b3f5892d..f5c62509 100644
--- a/lib/sbi/sbi_domain.c
+++ b/lib/sbi/sbi_domain.c
@@ -531,6 +531,21 @@ bool sbi_domain_check_addr_range(const struct sbi_domain *dom,
return true;
}
+struct sbi_domain *sbi_domain_find_by_name(const char *name)
+{
+ struct sbi_domain *dom;
+
+ if (!name)
+ return NULL;
+
+ sbi_domain_for_each(dom) {
+ if (!sbi_strcmp(dom->name, name))
+ return dom;
+ }
+
+ return NULL;
+}
+
void sbi_domain_dump(const struct sbi_domain *dom, const char *suffix)
{
u32 i, j, k;
@@ -645,11 +660,13 @@ int sbi_domain_register(struct sbi_domain *dom)
/*
* Ensure that:
* 1) Domain not already registered
+ * 2) Domain name is unique
* 2) Initialization order is unique
*/
sbi_domain_for_each(tdom) {
if (tdom == dom ||
- tdom->init_order == dom->init_order)
+ tdom->init_order == dom->init_order ||
+ !sbi_strcmp(tdom->name, dom->name))
return SBI_EALREADY;
}
--
2.43.0
More information about the opensbi
mailing list