OSDN Git Service

sfc: falcon: Use the bitmap API to allocate bitmaps
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Tue, 5 Jul 2022 19:36:51 +0000 (21:36 +0200)
committerJakub Kicinski <kuba@kernel.org>
Thu, 7 Jul 2022 02:54:42 +0000 (19:54 -0700)
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>
Acked-by: Martin Habets <habetsm.xilinx@gmail.com>
Link: https://lore.kernel.org/r/c62c1774e6a34bc64323ce526b385aa87c1ca575.1657049799.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/sfc/falcon/farch.c

index 2c91792..c64623c 100644 (file)
@@ -2711,7 +2711,7 @@ void ef4_farch_filter_table_remove(struct ef4_nic *efx)
        enum ef4_farch_filter_table_id table_id;
 
        for (table_id = 0; table_id < EF4_FARCH_FILTER_TABLE_COUNT; table_id++) {
-               kfree(state->table[table_id].used_bitmap);
+               bitmap_free(state->table[table_id].used_bitmap);
                vfree(state->table[table_id].spec);
        }
        kfree(state);
@@ -2740,9 +2740,7 @@ int ef4_farch_filter_table_probe(struct ef4_nic *efx)
                table = &state->table[table_id];
                if (table->size == 0)
                        continue;
-               table->used_bitmap = kcalloc(BITS_TO_LONGS(table->size),
-                                            sizeof(unsigned long),
-                                            GFP_KERNEL);
+               table->used_bitmap = bitmap_zalloc(table->size, GFP_KERNEL);
                if (!table->used_bitmap)
                        goto fail;
                table->spec = vzalloc(array_size(sizeof(*table->spec),