[PATCH v3 06/14] include: fwnode.h: Define format macros for ports and endpoints

From: Daniel Scally
Date: Wed Dec 23 2020 - 20:10:46 EST


OF, ACPI and software_nodes all implement graphs including nodes for ports
and endpoints. These are all intended to be named with a common schema,
as "port@n" and "endpoint@n" where n is an unsigned int representing the
index of the node. To ensure commonality across the subsystems, provide a
set of macros to define the format.

Suggested-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Signed-off-by: Daniel Scally <djrscally@xxxxxxxxx>
---
Changes in v3
- Patch introduced

include/linux/fwnode.h | 13 +++++++++++++
1 file changed, 13 insertions(+)

diff --git a/include/linux/fwnode.h b/include/linux/fwnode.h
index 9506f8ec0974..52889efceb7d 100644
--- a/include/linux/fwnode.h
+++ b/include/linux/fwnode.h
@@ -32,6 +32,19 @@ struct fwnode_endpoint {
const struct fwnode_handle *local_fwnode;
};

+/*
+ * ports and endpoints defined in OF, ACPI and as software_nodes should all
+ * follow a common naming scheme; use these macros to ensure commonality across
+ * the subsystems.
+ *
+ * The *PREFIX_LEN macros refer to the length of the "port@" and "endpoint@"
+ * sections of the naming scheme.
+ */
+#define FWNODE_GRAPH_PORT_NAME_FORMAT "port@%u"
+#define FWNODE_GRAPH_PORT_NAME_PREFIX_LEN 5
+#define FWNODE_GRAPH_ENDPOINT_NAME_FORMAT "endpoint@%u"
+#define FWNODE_GRAPH_ENDPOINT_PREFIX_LEN 9
+
#define NR_FWNODE_REFERENCE_ARGS 8

/**
--
2.25.1