Message ID | a4b8454f560b70cedf0e4d06275787f08d576ee5.1635964610.git.christophe.jaillet@wanadoo.fr (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] coresight: Use devm_bitmap_zalloc when applicable | expand |
Hi Christophe, On Wed, 3 Nov 2021 at 12:39, Christophe JAILLET <christophe.jaillet@wanadoo.fr> 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. > > Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> > --- > v1 --> v2: remove the 'guaranteed' variable to be even less verbose > --- > drivers/hwtracing/coresight/coresight-stm.c | 10 +++------- > 1 file changed, 3 insertions(+), 7 deletions(-) > > diff --git a/drivers/hwtracing/coresight/coresight-stm.c b/drivers/hwtracing/coresight/coresight-stm.c > index 58062a5a8238..bb14a3a8a921 100644 > --- a/drivers/hwtracing/coresight/coresight-stm.c > +++ b/drivers/hwtracing/coresight/coresight-stm.c > @@ -856,13 +856,11 @@ static int stm_probe(struct amba_device *adev, const struct amba_id *id) > { > int ret; > void __iomem *base; > - unsigned long *guaranteed; > struct device *dev = &adev->dev; > struct coresight_platform_data *pdata = NULL; > 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,12 +902,10 @@ 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); > - if (!guaranteed) > + drvdata->chs.guaranteed = devm_bitmap_zalloc(dev, drvdata->numsp, > + GFP_KERNEL); > + if (!drvdata->chs.guaranteed) > return -ENOMEM; > - drvdata->chs.guaranteed = guaranteed; I will pick up this patch when -rc1 gets released. Thanks, Mathieu > > spin_lock_init(&drvdata->spinlock); > > -- > 2.30.2 >
diff --git a/drivers/hwtracing/coresight/coresight-stm.c b/drivers/hwtracing/coresight/coresight-stm.c index 58062a5a8238..bb14a3a8a921 100644 --- a/drivers/hwtracing/coresight/coresight-stm.c +++ b/drivers/hwtracing/coresight/coresight-stm.c @@ -856,13 +856,11 @@ static int stm_probe(struct amba_device *adev, const struct amba_id *id) { int ret; void __iomem *base; - unsigned long *guaranteed; struct device *dev = &adev->dev; struct coresight_platform_data *pdata = NULL; 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,12 +902,10 @@ 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); - if (!guaranteed) + drvdata->chs.guaranteed = devm_bitmap_zalloc(dev, drvdata->numsp, + GFP_KERNEL); + if (!drvdata->chs.guaranteed) return -ENOMEM; - drvdata->chs.guaranteed = guaranteed; spin_lock_init(&drvdata->spinlock);
'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. Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> --- v1 --> v2: remove the 'guaranteed' variable to be even less verbose --- drivers/hwtracing/coresight/coresight-stm.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-)