Unverified Commit cf481289 authored by Rosen Penev's avatar Rosen Penev Committed by Mark Brown
Browse files

regulator: da9063: kzalloc + kcalloc to kzalloc



Reduce main allocation to a single kzalloc call by using a flexible
array member.

Allows using __counted_by for extra runtime analysis.

Signed-off-by: default avatarRosen Penev <rosenp@gmail.com>
Link: https://patch.msgid.link/20260311004159.32374-1-rosenp@gmail.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent e80c626a
Loading
Loading
Loading
Loading
+2 −7
Original line number Diff line number Diff line
@@ -67,7 +67,7 @@ struct da9063_regulator_data {

struct da9063_regulators_pdata {
	unsigned int			n_regulators;
	struct da9063_regulator_data	*regulator_data;
	struct da9063_regulator_data	regulator_data[] __counted_by(n_regulators);
};

/* Regulator capabilities and registers description */
@@ -857,15 +857,10 @@ static struct da9063_regulators_pdata *da9063_parse_regulators_dt(
		return ERR_PTR(-EINVAL);
	}

	pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL);
	pdata = devm_kzalloc(&pdev->dev, struct_size(pdata, regulator_data, num), GFP_KERNEL);
	if (!pdata)
		return ERR_PTR(-ENOMEM);

	pdata->regulator_data = devm_kcalloc(&pdev->dev,
					num, sizeof(*pdata->regulator_data),
					GFP_KERNEL);
	if (!pdata->regulator_data)
		return ERR_PTR(-ENOMEM);
	pdata->n_regulators = num;

	n = 0;