Good day, On Sat, Oct 23, 2021 at 10:09:14PM +0200, Christophe JAILLET wrote: > Le 23/10/2021 à 21:36, Joe Perches a écrit : > > On Sat, 2021-10-23 at 21:24 +0200, Christophe JAILLET wrote: > > > 'drvdata->chs.guaranteed' is a bitmap. So use 'devm_bitmap_kzalloc()' to > > > simplify code, improve the semantic and avoid some open-coded arithmetic > > > in allocator arguments. > > [] > > > diff --git a/drivers/hwtracing/coresight/coresight-stm.c b/drivers/hwtracing/coresight/coresight-stm.c > > [] > > > @@ -862,7 +862,6 @@ static int stm_probe(struct amba_device *adev, const struct amba_id *id) > > > struct stm_drvdata *drvdata; > > > struct resource *res = &adev->res; > > > struct resource ch_res; > > > - size_t bitmap_size; > > > struct coresight_desc desc = { 0 }; > > > desc.name = coresight_alloc_device_name(&stm_devs, dev); > > > @@ -904,9 +903,7 @@ static int stm_probe(struct amba_device *adev, const struct amba_id *id) > > > else > > > drvdata->numsp = stm_num_stimulus_port(drvdata); > > > - bitmap_size = BITS_TO_LONGS(drvdata->numsp) * sizeof(long); > > > - > > > - guaranteed = devm_kzalloc(dev, bitmap_size, GFP_KERNEL); > > > + guaranteed = devm_bitmap_zalloc(dev, drvdata->numsp, GFP_KERNEL); > > > if (!guaranteed) > > > return -ENOMEM; > > > drvdata->chs.guaranteed = guaranteed; > > > > guaranteed is also pretty useless > > > > I agree, but removing it would make the line with devm_bitmap_zalloc() 86 > chars. This would not be consistent with the rest of the file and would > (IMHO) require splitting. > > Let see if the maintainer prefer saving one additional line of code, or > keeping the logic in place. I think we can get rid of @guaranteed and splitting is fine with me: drvdata->chs.guaranteed = devm_bitmap_zalloc(dev, drvdata->numsp, GFP_KERNEL); Thanks, Mathieu > > CJ >