pmdomain: qcom: cpr: simplify main allocation
Subsystems (3)
PATCH 1/1 pmdomain: qcom: cpr: simplify main allocation
Remove kcalloc by using a flexible array member to combine allocations.
Signed-off-by Rosen Penev <[email protected]>
--- drivers/pmdomain/qcom/cpr.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-)
drivers/pmdomain/qcom/cpr.c +5 -8
@@ -239,7 +239,6 @@ struct cpr_drv {u32 gcnt;unsigned long flags; -struct fuse_corner *fuse_corners;struct corner *corners;const struct cpr_desc *desc;
@@ -247,6 +246,8 @@ struct cpr_drv {const struct cpr_fuse *cpr_fuses;struct dentry *debugfs; + +struct fuse_corner fuse_corners[]; };static bool cpr_is_allowed (struct cpr_drv *drv)
@@ -1600,19 +1601,15 @@ static int cpr_probe(struct platform_device *pdev)if (!data || !data->cpr_desc || !data->acc_desc)return -EINVAL ; - drv =devm_kzalloc (dev,sizeof (*drv),GFP_KERNEL ); + drv =devm_kzalloc (dev, +struct_size (drv, fuse_corners, data->cpr_desc->num_fuse_corners), +GFP_KERNEL );if (!drv)return -ENOMEM ; drv->dev = dev; drv->desc = data->cpr_desc; drv->acc_desc = data->acc_desc; - drv->fuse_corners =devm_kcalloc (dev, drv->desc->num_fuse_corners, -sizeof (*drv->fuse_corners), -GFP_KERNEL ); -if (!drv->fuse_corners) -return -ENOMEM ; - np =of_parse_phandle (dev->of_node,"acc-syscon" ,0 );if (!np)return -ENODEV ;
Signature · 1 line
2.53.0
Quoted 4 lines · Rosen Penev
Remove kcalloc by using a flexible array member to combine allocations.
Signed-off-by Rosen Penev <[email protected]>---
Reviewed-by Konrad Dybcio <[email protected]>
Konrad
Quoted 4 lines · Rosen Penev
Remove kcalloc by using a flexible array member to combine allocations.
Signed-off-by Rosen Penev <[email protected]>
Applied for next, thanks!
Kind regards
Uffe
Quoted 51 lines
--- drivers/pmdomain/qcom/cpr.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-)drivers/pmdomain/qcom/cpr.c +5
-9@@ -239,7 +239,6 @@ struct cpr_drv {u32 gcnt;unsigned long flags; -struct fuse_corner *fuse_corners;struct corner *corners;const struct cpr_desc *desc;@@ -247,6 +246,8 @@ struct cpr_drv {const struct cpr_fuse *cpr_fuses;struct dentry *debugfs; + +struct fuse_corner fuse_corners[]; };static bool cpr_is_allowed (struct cpr_drv *drv)@@ -1600,19 +1601,15 @@ static int cpr_probe(struct platform_device *pdev)if (!data || !data->cpr_desc || !data->acc_desc)return -EINVAL ; - drv =devm_kzalloc (dev,sizeof (*drv),GFP_KERNEL ); + drv =devm_kzalloc (dev, +struct_size (drv, fuse_corners, data->cpr_desc->num_fuse_corners), +GFP_KERNEL );if (!drv)return -ENOMEM ; drv->dev = dev; drv->desc = data->cpr_desc; drv->acc_desc = data->acc_desc; - drv->fuse_corners =devm_kcalloc (dev, drv->desc->num_fuse_corners, -sizeof (*drv->fuse_corners), -GFP_KERNEL ); -if (!drv->fuse_corners) -return -ENOMEM ; - np =of_parse_phandle (dev->of_node,"acc-syscon" ,0 );if (!np)return -ENODEV ; --2.53.0