.. | .. |
---|
1 | | -/* |
---|
2 | | - * Register cache access API - LZO caching support |
---|
3 | | - * |
---|
4 | | - * Copyright 2011 Wolfson Microelectronics plc |
---|
5 | | - * |
---|
6 | | - * Author: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> |
---|
7 | | - * |
---|
8 | | - * This program is free software; you can redistribute it and/or modify |
---|
9 | | - * it under the terms of the GNU General Public License version 2 as |
---|
10 | | - * published by the Free Software Foundation. |
---|
11 | | - */ |
---|
| 1 | +// SPDX-License-Identifier: GPL-2.0 |
---|
| 2 | +// |
---|
| 3 | +// Register cache access API - LZO caching support |
---|
| 4 | +// |
---|
| 5 | +// Copyright 2011 Wolfson Microelectronics plc |
---|
| 6 | +// |
---|
| 7 | +// Author: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> |
---|
12 | 8 | |
---|
13 | 9 | #include <linux/device.h> |
---|
14 | 10 | #include <linux/lzo.h> |
---|
.. | .. |
---|
152 | 148 | * that register. |
---|
153 | 149 | */ |
---|
154 | 150 | bmp_size = map->num_reg_defaults_raw; |
---|
155 | | - sync_bmp = kmalloc_array(BITS_TO_LONGS(bmp_size), sizeof(long), |
---|
156 | | - GFP_KERNEL); |
---|
| 151 | + sync_bmp = bitmap_zalloc(bmp_size, GFP_KERNEL); |
---|
157 | 152 | if (!sync_bmp) { |
---|
158 | 153 | ret = -ENOMEM; |
---|
159 | 154 | goto err; |
---|
160 | 155 | } |
---|
161 | | - bitmap_zero(sync_bmp, bmp_size); |
---|
162 | 156 | |
---|
163 | 157 | /* allocate the lzo blocks and initialize them */ |
---|
164 | 158 | for (i = 0; i < blkcount; i++) { |
---|
165 | 159 | lzo_blocks[i] = kzalloc(sizeof **lzo_blocks, |
---|
166 | 160 | GFP_KERNEL); |
---|
167 | 161 | if (!lzo_blocks[i]) { |
---|
168 | | - kfree(sync_bmp); |
---|
| 162 | + bitmap_free(sync_bmp); |
---|
169 | 163 | ret = -ENOMEM; |
---|
170 | 164 | goto err; |
---|
171 | 165 | } |
---|
.. | .. |
---|
217 | 211 | * only once. |
---|
218 | 212 | */ |
---|
219 | 213 | if (lzo_blocks[0]) |
---|
220 | | - kfree(lzo_blocks[0]->sync_bmp); |
---|
| 214 | + bitmap_free(lzo_blocks[0]->sync_bmp); |
---|
221 | 215 | for (i = 0; i < blkcount; i++) { |
---|
222 | 216 | if (lzo_blocks[i]) { |
---|
223 | 217 | kfree(lzo_blocks[i]->wmem); |
---|