'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 <[email protected]>
---
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;
spin_lock_init(&drvdata->spinlock);
--
2.30.2
Hi Christophe,
On Wed, 3 Nov 2021 at 12:39, Christophe JAILLET
<[email protected]> 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 <[email protected]>
> ---
> 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
>