Simplifies allocations slightly. Add __counted_by for extra runtime analysis.
Signed-off-by: Rosen Penev <[email protected]> --- drivers/platform/x86/intel/plr_tpmi.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/drivers/platform/x86/intel/plr_tpmi.c b/drivers/platform/x86/intel/plr_tpmi.c index 05727169f49c..2fd27e80bc1f 100644 --- a/drivers/platform/x86/intel/plr_tpmi.c +++ b/drivers/platform/x86/intel/plr_tpmi.c @@ -57,9 +57,9 @@ struct tpmi_plr_die { struct tpmi_plr { struct dentry *dbgfs_dir; - struct tpmi_plr_die *die_info; int num_dies; struct auxiliary_device *auxdev; + struct tpmi_plr_die die_info[] __counted_by(num_dies); }; static const char * const plr_coarse_reasons[] = { @@ -278,15 +278,10 @@ static int intel_plr_probe(struct auxiliary_device *auxdev, const struct auxilia if (!num_resources) return -EINVAL; - plr = devm_kzalloc(&auxdev->dev, sizeof(*plr), GFP_KERNEL); + plr = devm_kzalloc(&auxdev->dev, struct_size(plr, die_info, num_resources), GFP_KERNEL); if (!plr) return -ENOMEM; - plr->die_info = devm_kcalloc(&auxdev->dev, num_resources, sizeof(*plr->die_info), - GFP_KERNEL); - if (!plr->die_info) - return -ENOMEM; - plr->num_dies = num_resources; plr->dbgfs_dir = debugfs_create_dir("plr", dentry); plr->auxdev = auxdev; -- 2.54.0

