mtd: gen_probe: Use bitmap_zalloc() when applicable
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sun, 21 Nov 2021 15:59:12 +0000 (16:59 +0100)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Thu, 9 Dec 2021 16:52:29 +0000 (17:52 +0100)
'chip_map' is a bitmap. So 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.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/a6fe58dffe553a3e79303777d3ba9c60d7613c5b.1637510255.git.christophe.jaillet@wanadoo.fr
drivers/mtd/chips/gen_probe.c

index e5bd3c2bc3b22bba78b035ab45fd2427d6a6a4e0..4d4f978410161e63ed3a72e448fce6959d799ddf 100644 (file)
@@ -61,8 +61,8 @@ static struct cfi_private *genprobe_ident_chips(struct map_info *map, struct chi
        struct cfi_private cfi;
        struct cfi_private *retcfi;
        unsigned long *chip_map;
-       int i, j, mapsize;
        int max_chips;
+       int i, j;
 
        memset(&cfi, 0, sizeof(cfi));
 
@@ -111,8 +111,7 @@ static struct cfi_private *genprobe_ident_chips(struct map_info *map, struct chi
                max_chips = 1;
        }
 
-       mapsize = sizeof(long) * DIV_ROUND_UP(max_chips, BITS_PER_LONG);
-       chip_map = kzalloc(mapsize, GFP_KERNEL);
+       chip_map = bitmap_zalloc(max_chips, GFP_KERNEL);
        if (!chip_map) {
                kfree(cfi.cfiq);
                return NULL;
@@ -139,7 +138,7 @@ static struct cfi_private *genprobe_ident_chips(struct map_info *map, struct chi
 
        if (!retcfi) {
                kfree(cfi.cfiq);
-               kfree(chip_map);
+               bitmap_free(chip_map);
                return NULL;
        }
 
@@ -157,7 +156,7 @@ static struct cfi_private *genprobe_ident_chips(struct map_info *map, struct chi
                }
        }
 
-       kfree(chip_map);
+       bitmap_free(chip_map);
        return retcfi;
 }