RDMA/pvrdma: Use bitmap_zalloc() when applicable
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Thu, 25 Nov 2021 20:05:40 +0000 (21:05 +0100)
committerJason Gunthorpe <jgg@nvidia.com>
Mon, 29 Nov 2021 18:33:55 +0000 (14:33 -0400)
Use 'bitmap_zalloc()' to simplify code, improve the semantic and avoid
some open-coded arithmetic in allocator arguments.

Also change the corresponding 'kfree()' into 'bitmap_free()' to keep
consistency.

Link: https://lore.kernel.org/r/33e8b993bfa6b7164e9bee95e3c27fb2c53949ce.1637870667.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/vmw_pvrdma/pvrdma_doorbell.c

index bf51357ea3aafac61e140877082843c4ee0bc531..21ef3fb399151c0b8fa3fe8ece382552488eb0af 100644 (file)
@@ -63,7 +63,7 @@ int pvrdma_uar_table_init(struct pvrdma_dev *dev)
        tbl->max = num;
        tbl->mask = mask;
        spin_lock_init(&tbl->lock);
-       tbl->table = kcalloc(BITS_TO_LONGS(num), sizeof(long), GFP_KERNEL);
+       tbl->table = bitmap_zalloc(num, GFP_KERNEL);
        if (!tbl->table)
                return -ENOMEM;
 
@@ -77,7 +77,7 @@ void pvrdma_uar_table_cleanup(struct pvrdma_dev *dev)
 {
        struct pvrdma_id_table *tbl = &dev->uar_table.tbl;
 
-       kfree(tbl->table);
+       bitmap_free(tbl->table);
 }
 
 int pvrdma_uar_alloc(struct pvrdma_dev *dev, struct pvrdma_uar_map *uar)