Skip to content

Commit 66ab322

Browse files
nehebUlf Hansson
authored andcommitted
pmdomain: qcom: cpr: simplify main allocation
Remove kcalloc by using a flexible array member to combine allocations. Signed-off-by: Rosen Penev <rosenp@gmail.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
1 parent d797ecf commit 66ab322

1 file changed

Lines changed: 5 additions & 8 deletions

File tree

  • drivers/pmdomain/qcom

drivers/pmdomain/qcom/cpr.c

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -239,14 +239,15 @@ struct cpr_drv {
239239
u32 gcnt;
240240
unsigned long flags;
241241

242-
struct fuse_corner *fuse_corners;
243242
struct corner *corners;
244243

245244
const struct cpr_desc *desc;
246245
const struct acc_desc *acc_desc;
247246
const struct cpr_fuse *cpr_fuses;
248247

249248
struct dentry *debugfs;
249+
250+
struct fuse_corner fuse_corners[];
250251
};
251252

252253
static bool cpr_is_allowed(struct cpr_drv *drv)
@@ -1600,19 +1601,15 @@ static int cpr_probe(struct platform_device *pdev)
16001601
if (!data || !data->cpr_desc || !data->acc_desc)
16011602
return -EINVAL;
16021603

1603-
drv = devm_kzalloc(dev, sizeof(*drv), GFP_KERNEL);
1604+
drv = devm_kzalloc(dev,
1605+
struct_size(drv, fuse_corners, data->cpr_desc->num_fuse_corners),
1606+
GFP_KERNEL);
16041607
if (!drv)
16051608
return -ENOMEM;
16061609
drv->dev = dev;
16071610
drv->desc = data->cpr_desc;
16081611
drv->acc_desc = data->acc_desc;
16091612

1610-
drv->fuse_corners = devm_kcalloc(dev, drv->desc->num_fuse_corners,
1611-
sizeof(*drv->fuse_corners),
1612-
GFP_KERNEL);
1613-
if (!drv->fuse_corners)
1614-
return -ENOMEM;
1615-
16161613
np = of_parse_phandle(dev->of_node, "acc-syscon", 0);
16171614
if (!np)
16181615
return -ENODEV;

0 commit comments

Comments
 (0)