irqchip/gic-v3: Switch to bitmap_zalloc()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Fri, 18 Jun 2021 15:16:54 +0000 (18:16 +0300)
committerMarc Zyngier <maz@kernel.org>
Mon, 26 Jul 2021 17:04:01 +0000 (18:04 +0100)
Switch to bitmap_zalloc() to show clearly what we are allocating.
Besides that it returns pointer of bitmap type instead of opaque void *.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210618151657.65305-4-andriy.shevchenko@linux.intel.com
drivers/irqchip/irq-gic-v3-its.c
drivers/irqchip/irq-gic-v3-mbi.c

index ba39668c3e08516a412c7a199dfa724dcaa7fa3b..7f40dca8cda5396f7a7a069b720379d022884774 100644 (file)
@@ -2140,7 +2140,7 @@ static unsigned long *its_lpi_alloc(int nr_irqs, u32 *base, int *nr_ids)
        if (err)
                goto out;
 
-       bitmap = kcalloc(BITS_TO_LONGS(nr_irqs), sizeof (long), GFP_ATOMIC);
+       bitmap = bitmap_zalloc(nr_irqs, GFP_ATOMIC);
        if (!bitmap)
                goto out;
 
@@ -2156,7 +2156,7 @@ out:
 static void its_lpi_free(unsigned long *bitmap, u32 base, u32 nr_ids)
 {
        WARN_ON(free_lpi_range(base, nr_ids));
-       kfree(bitmap);
+       bitmap_free(bitmap);
 }
 
 static void gic_reset_prop_table(void *va)
@@ -3387,7 +3387,7 @@ static struct its_device *its_create_device(struct its_node *its, u32 dev_id,
        if (!dev || !itt ||  !col_map || (!lpi_map && alloc_lpis)) {
                kfree(dev);
                kfree(itt);
-               kfree(lpi_map);
+               bitmap_free(lpi_map);
                kfree(col_map);
                return NULL;
        }
index e81e89a81cb5bbdd29b05939570890bd93f21b75..b84c9c2eccdc031c4035c5b3b319191963d8e06f 100644 (file)
@@ -290,8 +290,7 @@ int __init mbi_init(struct fwnode_handle *fwnode, struct irq_domain *parent)
                if (ret)
                        goto err_free_mbi;
 
-               mbi_ranges[n].bm = kcalloc(BITS_TO_LONGS(mbi_ranges[n].nr_spis),
-                                          sizeof(long), GFP_KERNEL);
+               mbi_ranges[n].bm = bitmap_zalloc(mbi_ranges[n].nr_spis, GFP_KERNEL);
                if (!mbi_ranges[n].bm) {
                        ret = -ENOMEM;
                        goto err_free_mbi;
@@ -329,7 +328,7 @@ int __init mbi_init(struct fwnode_handle *fwnode, struct irq_domain *parent)
 err_free_mbi:
        if (mbi_ranges) {
                for (n = 0; n < mbi_range_nr; n++)
-                       kfree(mbi_ranges[n].bm);
+                       bitmap_free(mbi_ranges[n].bm);
                kfree(mbi_ranges);
        }