OSDN Git Service

csky: Use the bitmap API to allocate bitmaps
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Mon, 4 Jul 2022 19:06:46 +0000 (21:06 +0200)
committerGuo Ren <guoren@linux.alibaba.com>
Sat, 23 Jul 2022 01:36:14 +0000 (21:36 -0400)
Use bitmap_zalloc()/bitmap_free() instead of hand-writing them.

It is less verbose and it improves the semantic.

While at it, turn a bitmap_clear() into an equivalent bitmap_zero(). It is
also less verbose.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Guo Ren <guoren@kernel.org>
arch/csky/mm/asid.c

index b2e9147..7fb6c41 100644 (file)
@@ -27,7 +27,7 @@ static void flush_context(struct asid_info *info)
        u64 asid;
 
        /* Update the list of reserved ASIDs and the ASID bitmap. */
-       bitmap_clear(info->map, 0, NUM_CTXT_ASIDS(info));
+       bitmap_zero(info->map, NUM_CTXT_ASIDS(info));
 
        for_each_possible_cpu(i) {
                asid = atomic64_xchg_relaxed(&active_asid(info, i), 0);
@@ -178,8 +178,7 @@ int asid_allocator_init(struct asid_info *info,
         */
        WARN_ON(NUM_CTXT_ASIDS(info) - 1 <= num_possible_cpus());
        atomic64_set(&info->generation, ASID_FIRST_VERSION(info));
-       info->map = kcalloc(BITS_TO_LONGS(NUM_CTXT_ASIDS(info)),
-                           sizeof(*info->map), GFP_KERNEL);
+       info->map = bitmap_zalloc(NUM_CTXT_ASIDS(info), GFP_KERNEL);
        if (!info->map)
                return -ENOMEM;