diff mbox series

coresight: Use devm_bitmap_zalloc when applicable

Message ID e5fe23370794e2f5442e11e7f8455ddb06e4b10a.1635016943.git.christophe.jaillet@wanadoo.fr (mailing list archive)
State New, archived
Headers show
Series coresight: Use devm_bitmap_zalloc when applicable | expand

Commit Message

Christophe JAILLET Oct. 23, 2021, 7:24 p.m. UTC
'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>
---
 drivers/hwtracing/coresight/coresight-stm.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

Comments

Joe Perches Oct. 23, 2021, 7:36 p.m. UTC | #1
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
Christophe JAILLET Oct. 23, 2021, 8:09 p.m. UTC | #2
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.

CJ
Mathieu Poirier Oct. 28, 2021, 4:44 p.m. UTC | #3
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
>
diff mbox series

Patch

diff --git a/drivers/hwtracing/coresight/coresight-stm.c b/drivers/hwtracing/coresight/coresight-stm.c
index 58062a5a8238..db9eada24275 100644
--- 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;