diff options
author | Christophe JAILLET <christophe.jaillet@wanadoo.fr> | 2022-07-06 07:20:15 +0200 |
---|---|---|
committer | Will Deacon <will@kernel.org> | 2022-07-06 11:02:58 +0100 |
commit | 0e35850b341e88055ca11cad74efa464b2159984 (patch) | |
tree | 5e37c65b24a99a2c8b3c51cfbb5a598a9aa3b742 /drivers/perf/arm-cci.c | |
parent | e9a023f2b73ac35ff5cfbefe8524c64d8173d65f (diff) |
perf/arm-cci: Use the bitmap API to allocate bitmaps
Use devm_bitmap_zalloc() instead of hand-writing it.
It is less verbose and it improves the semantic.
While at it, use bitmap_zero() instead of hand-writing it.
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/fbde85a5e8ae99b10a2115d8ea1e69320a62947f.1657084786.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'drivers/perf/arm-cci.c')
-rw-r--r-- | drivers/perf/arm-cci.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/perf/arm-cci.c b/drivers/perf/arm-cci.c index 16a272c8d4b3..03b1309875ae 100644 --- a/drivers/perf/arm-cci.c +++ b/drivers/perf/arm-cci.c @@ -1261,7 +1261,7 @@ static int validate_group(struct perf_event *event) */ .used_mask = mask, }; - memset(mask, 0, BITS_TO_LONGS(cci_pmu->num_cntrs) * sizeof(unsigned long)); + bitmap_zero(mask, cci_pmu->num_cntrs); if (!validate_event(event->pmu, &fake_pmu, leader)) return -EINVAL; @@ -1629,10 +1629,9 @@ static struct cci_pmu *cci_pmu_alloc(struct device *dev) GFP_KERNEL); if (!cci_pmu->hw_events.events) return ERR_PTR(-ENOMEM); - cci_pmu->hw_events.used_mask = devm_kcalloc(dev, - BITS_TO_LONGS(CCI_PMU_MAX_HW_CNTRS(model)), - sizeof(*cci_pmu->hw_events.used_mask), - GFP_KERNEL); + cci_pmu->hw_events.used_mask = devm_bitmap_zalloc(dev, + CCI_PMU_MAX_HW_CNTRS(model), + GFP_KERNEL); if (!cci_pmu->hw_events.used_mask) return ERR_PTR(-ENOMEM); |