On Fri, Nov 19, 2021 at 03:12:31PM +0530, Satya Priya wrote:
+ for (reg = ®_data[0]; reg->name; reg++) {Why is this not just iterating from 0 to ARRAY_SIZE() - that's the more
normal way to write things and doesn't require a terminator on the
array.
+ child_node = of_get_child_by_name(parent_node, reg->name);This could be pulled out of the array.
+ if (!child_node) {
+ dev_err(dev, "child node %s not found\n", reg->name);
+ return -ENODEV;
+ }
I think you're also missing an
of_node_put() on the child_node.
+ rc = of_property_read_u32(child_node, "reg", &base);It's not clear to me why this in particular is being read out of the DT
+ if (rc < 0) {
+ dev_err(dev, "%s: failed to get regulator base rc=%d\n",
+ reg->name, rc);
+ return rc;
+ }
binding, I'd expect this to be in the array describing the regulator the
same as everything else?