Commit dd8a2e88 authored by Christophe JAILLET's avatar Christophe JAILLET Committed by Miquel Raynal

mtd: gen_probe: Use bitmap_zalloc() when applicable

'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: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/a6fe58dffe553a3e79303777d3ba9c60d7613c5b.1637510255.git.christophe.jaillet@wanadoo.fr
parent 67b967dd
...@@ -61,8 +61,8 @@ static struct cfi_private *genprobe_ident_chips(struct map_info *map, struct chi ...@@ -61,8 +61,8 @@ static struct cfi_private *genprobe_ident_chips(struct map_info *map, struct chi
struct cfi_private cfi; struct cfi_private cfi;
struct cfi_private *retcfi; struct cfi_private *retcfi;
unsigned long *chip_map; unsigned long *chip_map;
int i, j, mapsize;
int max_chips; int max_chips;
int i, j;
memset(&cfi, 0, sizeof(cfi)); memset(&cfi, 0, sizeof(cfi));
...@@ -111,8 +111,7 @@ static struct cfi_private *genprobe_ident_chips(struct map_info *map, struct chi ...@@ -111,8 +111,7 @@ static struct cfi_private *genprobe_ident_chips(struct map_info *map, struct chi
max_chips = 1; max_chips = 1;
} }
mapsize = sizeof(long) * DIV_ROUND_UP(max_chips, BITS_PER_LONG); chip_map = bitmap_zalloc(max_chips, GFP_KERNEL);
chip_map = kzalloc(mapsize, GFP_KERNEL);
if (!chip_map) { if (!chip_map) {
kfree(cfi.cfiq); kfree(cfi.cfiq);
return NULL; return NULL;
...@@ -139,7 +138,7 @@ static struct cfi_private *genprobe_ident_chips(struct map_info *map, struct chi ...@@ -139,7 +138,7 @@ static struct cfi_private *genprobe_ident_chips(struct map_info *map, struct chi
if (!retcfi) { if (!retcfi) {
kfree(cfi.cfiq); kfree(cfi.cfiq);
kfree(chip_map); bitmap_free(chip_map);
return NULL; return NULL;
} }
...@@ -157,7 +156,7 @@ static struct cfi_private *genprobe_ident_chips(struct map_info *map, struct chi ...@@ -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; return retcfi;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment