ubi: fastmap: Use the bitmap API to allocate bitmaps
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Mon, 4 Jul 2022 18:46:00 +0000 (20:46 +0200)
committerRichard Weinberger <richard@nod.at>
Wed, 21 Sep 2022 09:32:58 +0000 (11:32 +0200)
Use bitmap_zalloc()/bitmap_free() instead of hand-writing them.

It is less verbose and it improves the semantic.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Zhihao Cheng <chengzhihao1@huawei.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
drivers/mtd/ubi/fastmap.c

index 6e95c4b1473e61e85c86068b4547ce765777626c..ca2d9efe62c3c75063b41ecacb6cbbd6f107146d 100644 (file)
@@ -20,8 +20,7 @@ static inline unsigned long *init_seen(struct ubi_device *ubi)
        if (!ubi_dbg_chk_fastmap(ubi))
                return NULL;
 
-       ret = kcalloc(BITS_TO_LONGS(ubi->peb_count), sizeof(unsigned long),
-                     GFP_KERNEL);
+       ret = bitmap_zalloc(ubi->peb_count, GFP_KERNEL);
        if (!ret)
                return ERR_PTR(-ENOMEM);
 
@@ -34,7 +33,7 @@ static inline unsigned long *init_seen(struct ubi_device *ubi)
  */
 static inline void free_seen(unsigned long *seen)
 {
-       kfree(seen);
+       bitmap_free(seen);
 }
 
 /**
@@ -1108,8 +1107,7 @@ int ubi_fastmap_init_checkmap(struct ubi_volume *vol, int leb_count)
        if (!ubi->fast_attach)
                return 0;
 
-       vol->checkmap = kcalloc(BITS_TO_LONGS(leb_count), sizeof(unsigned long),
-                               GFP_KERNEL);
+       vol->checkmap = bitmap_zalloc(leb_count, GFP_KERNEL);
        if (!vol->checkmap)
                return -ENOMEM;
 
@@ -1118,7 +1116,7 @@ int ubi_fastmap_init_checkmap(struct ubi_volume *vol, int leb_count)
 
 void ubi_fastmap_destroy_checkmap(struct ubi_volume *vol)
 {
-       kfree(vol->checkmap);
+       bitmap_free(vol->checkmap);
 }
 
 /**