On Sun, Mar 04, 2012 at 02:51:48PM +0800, Shawn Guo wrote:
- sreg = devm_kzalloc(dev, sizeof(struct anatop_regulator), GFP_KERNEL);
- if (!sreg)
return -EINVAL;
- rdesc = devm_kzalloc(dev, sizeof(struct regulator_desc), GFP_KERNEL);
- if (!rdesc)
return -EINVAL;
Would something like the following be better?
sreg = devm_kzalloc(dev, sizeof(*sreg) + sizeof(*rdesc), GFP_KERNEL); if (!sreg) return -ENOMEM; rdesc = (struct regulator_desc *)(sreg + 1);
No, that sort of pointer arithmetic would be much worse - it's harder to read and more likely to break. However, embedding the regulator_desc in sreg would achieve the same result without the legibility issues.