RDMA/qib: Use the bitmap API to allocate bitmaps
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Fri, 8 Jul 2022 17:20:39 +0000 (19:20 +0200)
committerLeon Romanovsky <leonro@nvidia.com>
Mon, 18 Jul 2022 08:57:15 +0000 (11:57 +0300)
Use bitmap_zalloc()/bitmap_free() instead of hand-writing them.

It is less verbose and it improves the semantic.

Link: https://lore.kernel.org/r/f7a8588447679e80a438b6188b0603c1a11ad877.1657300671.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/hw/qib/qib_init.c

index d1a72e8..4521100 100644 (file)
@@ -1106,8 +1106,7 @@ struct qib_devdata *qib_alloc_devdata(struct pci_dev *pdev, size_t extra)
        if (!qib_cpulist_count) {
                u32 count = num_online_cpus();
 
-               qib_cpulist = kcalloc(BITS_TO_LONGS(count), sizeof(long),
-                                     GFP_KERNEL);
+               qib_cpulist = bitmap_zalloc(count, GFP_KERNEL);
                if (qib_cpulist)
                        qib_cpulist_count = count;
        }
@@ -1279,7 +1278,7 @@ static void __exit qib_ib_cleanup(void)
 #endif
 
        qib_cpulist_count = 0;
-       kfree(qib_cpulist);
+       bitmap_free(qib_cpulist);
 
        WARN_ON(!xa_empty(&qib_dev_table));
        qib_dev_cleanup();