Re: [PATCH] coresight: Use devm_bitmap_zalloc when applicable

From: Mathieu Poirier
Date: Thu Oct 28 2021 - 12:44:44 EST


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
>