BCM590XX_NUM_REGS is known in compile time. Use array to save desc and *info makes the code simpler.
Signed-off-by: Axel Lin <axel....@ingics.com> --- drivers/regulator/bcm590xx-regulator.c | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/drivers/regulator/bcm590xx-regulator.c b/drivers/regulator/bcm590xx-regulator.c index ab08ca7..fe21855 100644 --- a/drivers/regulator/bcm590xx-regulator.c +++ b/drivers/regulator/bcm590xx-regulator.c @@ -151,9 +151,9 @@ static struct bcm590xx_info bcm590xx_regs[] = { }; struct bcm590xx_reg { - struct regulator_desc *desc; + struct regulator_desc desc[BCM590XX_NUM_REGS]; struct bcm590xx *mfd; - struct bcm590xx_info **info; + struct bcm590xx_info *info[BCM590XX_NUM_REGS]; }; static int bcm590xx_get_vsel_register(int id) @@ -319,20 +319,6 @@ static int bcm590xx_probe(struct platform_device *pdev) platform_set_drvdata(pdev, pmu); - pmu->desc = devm_kzalloc(&pdev->dev, BCM590XX_NUM_REGS * - sizeof(struct regulator_desc), GFP_KERNEL); - if (!pmu->desc) { - dev_err(&pdev->dev, "Memory alloc fails for desc\n"); - return -ENOMEM; - } - - pmu->info = devm_kzalloc(&pdev->dev, BCM590XX_NUM_REGS * - sizeof(struct bcm590xx_info *), GFP_KERNEL); - if (!pmu->info) { - dev_err(&pdev->dev, "Memory alloc fails for info\n"); - return -ENOMEM; - } - info = bcm590xx_regs; for (i = 0; i < BCM590XX_NUM_REGS; i++, info++) { -- 1.8.1.2 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/