On Mon, Nov 30, 2020 at 01:31:15PM +0000, Daniel Scally wrote: > Registering software_nodes with the .parent member set to point to a > currently unregistered software_node has the potential for problems, > so enforce parent -> child ordering in arrays passed to this function. I agree with Laurent. ... > for (i = 0; nodes[i].name; i++) { > + if (nodes[i].parent) > + if (!software_node_to_swnode(nodes[i].parent)) { > + ret = -EINVAL; > + goto err_unregister_nodes; > + } > + Besides that can we pack these conditionals together? if (nodes[i].parent && !software_node_to_swnode(nodes[i].parent)) { Do we have sane ordering in software_node_unregister_nodes()? -- With Best Regards, Andy Shevchenko