Re: [PATCH V4 4/6] regulator: Add a regulator driver for the PM8008 PMIC

Satya Priya Kakitapalli (Temp)
2021-12-06T14:44:23Z

On 11/25/2021 9:15 PM, Mark Brown wrote:
> On Fri, Nov 19, 2021 at 03:12:31PM +0530, Satya Priya wrote:
>
>> + for (reg = &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.

While changing some other things in the probe I made this change, but I
think this is not necessary, I'll change it to iterate from 0 to
ARRAY_SIZE()

>> + child_node = of_get_child_by_name(parent_node, reg->name);
>> + if (!child_node) {
>> + dev_err(dev, "child node %s not found\n", reg->name);
>> + return -ENODEV;
>> + }
> This could be pulled out of the array.

Not sure what you meant here. could you elaborate a bit?

> I think you're also missing an
> of_node_put() on the child_node.

I'll add it in the next version.

>> + rc = of_property_read_u32(child_node, "reg", &base);
>> + if (rc < 0) {
>> + dev_err(dev, "%s: failed to get regulator base rc=%d\n",
>> + reg->name, rc);
>> + return rc;
>> + }
> It's not clear to me why this in particular is being read out of the DT
> binding, I'd expect this to be in the array describing the regulator the
> same as everything else?

I thought that the base address would change with boards, but seems it
doesn't change. I'll add this in the array.