Re: [PATCH v2 07/14] regulator: s2mps11: Copy supported regulators from initconst

Krzysztof Kozlowski
2014-02-14T07:47:03Z

On Thu, 2014-02-13 at 19:07 +0000, Mark Brown wrote:
> On Thu, Feb 13, 2014 at 10:14:00AM +0100, Krzysztof Kozlowski wrote:
>
> > - for (i = 0; i < S2MPS11_REGULATOR_CNT; i++)
> > + s2mps11->rdev = devm_kzalloc(&pdev->dev,
> > + sizeof(*s2mps11->rdev)*rdev_num, GFP_KERNEL);
> > + if (!s2mps11->rdev)
> > + return -ENOMEM;
>
> If we're using managed allocations do we actually need to keep the rdev
> table at all? We only normally use it to free.

You're right, the "s2mps11->rdev" is not needed at all.

>
> > + rdata = devm_kzalloc(&pdev->dev, sizeof(*rdata)*rdev_num, GFP_KERNEL);
> > + if (!rdata)
> > + return -ENOMEM;
> > +
>
> > + /* rdata was needed only for of_regulator_match() during probe */
> > + if (rdata)
> > + devm_kfree(&pdev->dev, rdata);
> > +
>
> If this is always going to be freed within the probe path (in the same
> function indeed) why is it a managed allocaton at all?

Actually no good reason, simplifies a little the return statements on
error conditions. I'll use kzalloc() and kfree().

Best regards,
Krzysztof