[PATCH] coresight: Use devm_bitmap_zalloc when applicable

Christophe JAILLET christophe.jaillet at wanadoo.fr
Sat Oct 23 13:09:14 PDT 2021


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




More information about the linux-arm-kernel mailing list