scsi: hpsa: Use the bitmap API to allocate bitmaps
Use bitmap_zalloc()/bitmap_free() instead of hand-writing them. It is less verbose and it improves the semantic. Link: https://lore.kernel.org/r/5f975ef43f8b7306e4ac4e2e8ce4bcd53f6092bb.1658340441.git.christophe.jaillet@wanadoo.fr Tested-by: Don Brace <don.brace@microchip.com> Acked-by: Don Brace <don.brace@microchip.com> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
de05e4843c
commit
5afdd990ce
@ -8030,7 +8030,7 @@ out_disable:
|
|||||||
|
|
||||||
static void hpsa_free_cmd_pool(struct ctlr_info *h)
|
static void hpsa_free_cmd_pool(struct ctlr_info *h)
|
||||||
{
|
{
|
||||||
kfree(h->cmd_pool_bits);
|
bitmap_free(h->cmd_pool_bits);
|
||||||
h->cmd_pool_bits = NULL;
|
h->cmd_pool_bits = NULL;
|
||||||
if (h->cmd_pool) {
|
if (h->cmd_pool) {
|
||||||
dma_free_coherent(&h->pdev->dev,
|
dma_free_coherent(&h->pdev->dev,
|
||||||
@ -8052,9 +8052,7 @@ static void hpsa_free_cmd_pool(struct ctlr_info *h)
|
|||||||
|
|
||||||
static int hpsa_alloc_cmd_pool(struct ctlr_info *h)
|
static int hpsa_alloc_cmd_pool(struct ctlr_info *h)
|
||||||
{
|
{
|
||||||
h->cmd_pool_bits = kcalloc(DIV_ROUND_UP(h->nr_cmds, BITS_PER_LONG),
|
h->cmd_pool_bits = bitmap_zalloc(h->nr_cmds, GFP_KERNEL);
|
||||||
sizeof(unsigned long),
|
|
||||||
GFP_KERNEL);
|
|
||||||
h->cmd_pool = dma_alloc_coherent(&h->pdev->dev,
|
h->cmd_pool = dma_alloc_coherent(&h->pdev->dev,
|
||||||
h->nr_cmds * sizeof(*h->cmd_pool),
|
h->nr_cmds * sizeof(*h->cmd_pool),
|
||||||
&h->cmd_pool_dhandle, GFP_KERNEL);
|
&h->cmd_pool_dhandle, GFP_KERNEL);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user