[PATCH] software node: Constify node_group in registration functions

From: Dmitry Torokhov
Date: Thu Aug 14 2025 - 02:04:05 EST


The software_node_register_node_group() and
software_node_unregister_node_group() functions take in essence an
array of pointers to software_node structs. Since the functions do not
modify the array declare the argument as constant, so that static
arrays can be declared as const and annotated as __initconst.

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
---
drivers/base/swnode.c | 5 ++---
include/linux/property.h | 4 ++--
2 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/drivers/base/swnode.c b/drivers/base/swnode.c
index deda7f35a059..be1e9e61a7bf 100644
--- a/drivers/base/swnode.c
+++ b/drivers/base/swnode.c
@@ -844,7 +844,7 @@ swnode_register(const struct software_node *node, struct swnode *parent,
* of this function or by ordering the array such that parent comes before
* child.
*/
-int software_node_register_node_group(const struct software_node **node_group)
+int software_node_register_node_group(const struct software_node * const *node_group)
{
unsigned int i;
int ret;
@@ -877,8 +877,7 @@ EXPORT_SYMBOL_GPL(software_node_register_node_group);
* remove the nodes individually, in the correct order (child before
* parent).
*/
-void software_node_unregister_node_group(
- const struct software_node **node_group)
+void software_node_unregister_node_group(const struct software_node * const *node_group)
{
unsigned int i = 0;

diff --git a/include/linux/property.h b/include/linux/property.h
index f718dd4789e5..a8cc3e102f45 100644
--- a/include/linux/property.h
+++ b/include/linux/property.h
@@ -573,8 +573,8 @@ const struct software_node *
software_node_find_by_name(const struct software_node *parent,
const char *name);

-int software_node_register_node_group(const struct software_node **node_group);
-void software_node_unregister_node_group(const struct software_node **node_group);
+int software_node_register_node_group(const struct software_node * const *node_group);
+void software_node_unregister_node_group(const struct software_node * const *node_group);

int software_node_register(const struct software_node *node);
void software_node_unregister(const struct software_node *node);
--
2.51.0.rc0.215.g125493bb4a-goog


--
Dmitry