Switch to bitmap_zalloc() to show clearly what we are allocating.
Besides that it returns pointer of bitmap type instead of opaque void *.

Signed-off-by: Andy Shevchenko <[email protected]>
---
 drivers/base/regmap/regcache-lzo.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/base/regmap/regcache-lzo.c 
b/drivers/base/regmap/regcache-lzo.c
index fc14e8b9344f..7886303eb026 100644
--- a/drivers/base/regmap/regcache-lzo.c
+++ b/drivers/base/regmap/regcache-lzo.c
@@ -148,20 +148,18 @@ static int regcache_lzo_init(struct regmap *map)
         * that register.
         */
        bmp_size = map->num_reg_defaults_raw;
-       sync_bmp = kmalloc_array(BITS_TO_LONGS(bmp_size), sizeof(long),
-                                GFP_KERNEL);
+       sync_bmp = bitmap_zalloc(bmp_size, GFP_KERNEL);
        if (!sync_bmp) {
                ret = -ENOMEM;
                goto err;
        }
-       bitmap_zero(sync_bmp, bmp_size);
 
        /* allocate the lzo blocks and initialize them */
        for (i = 0; i < blkcount; i++) {
                lzo_blocks[i] = kzalloc(sizeof **lzo_blocks,
                                        GFP_KERNEL);
                if (!lzo_blocks[i]) {
-                       kfree(sync_bmp);
+                       bitmap_free(sync_bmp);
                        ret = -ENOMEM;
                        goto err;
                }
@@ -213,7 +211,7 @@ static int regcache_lzo_exit(struct regmap *map)
         * only once.
         */
        if (lzo_blocks[0])
-               kfree(lzo_blocks[0]->sync_bmp);
+               bitmap_free(lzo_blocks[0]->sync_bmp);
        for (i = 0; i < blkcount; i++) {
                if (lzo_blocks[i]) {
                        kfree(lzo_blocks[i]->wmem);
-- 
2.20.1

Reply via email to