aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAkinobu Mita <akinobu.mita@gmail.com>2012-11-08 19:12:22 -0500
committerJens Axboe <axboe@kernel.dk>2012-11-23 08:27:22 -0500
commit1f118bc479173bff44aa591bcfa065e68884f2c5 (patch)
treea7bf03a91bbb82f138581607acaefb2a3f479384
parent8d0ff3924bbad9fc53c3cc305d317033b16a5f05 (diff)
cciss: cleanup bitops usage
- Remove unnecessary correction of bit and address - Use BITS_TO_LONGS macro to calculate bitmap size - Use bitmap_zero() Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Cc: Mike Miller <mike.miller@hp.com> Cc: Stephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r--drivers/block/cciss.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c
index b0f553b26d0f..bda6d1282377 100644
--- a/drivers/block/cciss.c
+++ b/drivers/block/cciss.c
@@ -41,6 +41,7 @@
41#include <linux/spinlock.h> 41#include <linux/spinlock.h>
42#include <linux/compat.h> 42#include <linux/compat.h>
43#include <linux/mutex.h> 43#include <linux/mutex.h>
44#include <linux/bitmap.h>
44#include <asm/uaccess.h> 45#include <asm/uaccess.h>
45#include <asm/io.h> 46#include <asm/io.h>
46 47
@@ -978,8 +979,7 @@ static CommandList_struct *cmd_alloc(ctlr_info_t *h)
978 i = find_first_zero_bit(h->cmd_pool_bits, h->nr_cmds); 979 i = find_first_zero_bit(h->cmd_pool_bits, h->nr_cmds);
979 if (i == h->nr_cmds) 980 if (i == h->nr_cmds)
980 return NULL; 981 return NULL;
981 } while (test_and_set_bit(i & (BITS_PER_LONG - 1), 982 } while (test_and_set_bit(i, h->cmd_pool_bits) != 0);
982 h->cmd_pool_bits + (i / BITS_PER_LONG)) != 0);
983 c = h->cmd_pool + i; 983 c = h->cmd_pool + i;
984 memset(c, 0, sizeof(CommandList_struct)); 984 memset(c, 0, sizeof(CommandList_struct));
985 cmd_dma_handle = h->cmd_pool_dhandle + i * sizeof(CommandList_struct); 985 cmd_dma_handle = h->cmd_pool_dhandle + i * sizeof(CommandList_struct);
@@ -1046,8 +1046,7 @@ static void cmd_free(ctlr_info_t *h, CommandList_struct *c)
1046 int i; 1046 int i;
1047 1047
1048 i = c - h->cmd_pool; 1048 i = c - h->cmd_pool;
1049 clear_bit(i & (BITS_PER_LONG - 1), 1049 clear_bit(i, h->cmd_pool_bits);
1050 h->cmd_pool_bits + (i / BITS_PER_LONG));
1051 h->nr_frees++; 1050 h->nr_frees++;
1052} 1051}
1053 1052
@@ -4812,8 +4811,7 @@ static __devinit int cciss_init_reset_devices(struct pci_dev *pdev)
4812 4811
4813static __devinit int cciss_allocate_cmd_pool(ctlr_info_t *h) 4812static __devinit int cciss_allocate_cmd_pool(ctlr_info_t *h)
4814{ 4813{
4815 h->cmd_pool_bits = kmalloc( 4814 h->cmd_pool_bits = kmalloc(BITS_TO_LONGS(h->nr_cmds) *
4816 DIV_ROUND_UP(h->nr_cmds, BITS_PER_LONG) *
4817 sizeof(unsigned long), GFP_KERNEL); 4815 sizeof(unsigned long), GFP_KERNEL);
4818 h->cmd_pool = pci_alloc_consistent(h->pdev, 4816 h->cmd_pool = pci_alloc_consistent(h->pdev,
4819 h->nr_cmds * sizeof(CommandList_struct), 4817 h->nr_cmds * sizeof(CommandList_struct),
@@ -5068,9 +5066,7 @@ reinit_after_soft_reset:
5068 pci_set_drvdata(pdev, h); 5066 pci_set_drvdata(pdev, h);
5069 /* command and error info recs zeroed out before 5067 /* command and error info recs zeroed out before
5070 they are used */ 5068 they are used */
5071 memset(h->cmd_pool_bits, 0, 5069 bitmap_zero(h->cmd_pool_bits, h->nr_cmds);
5072 DIV_ROUND_UP(h->nr_cmds, BITS_PER_LONG)
5073 * sizeof(unsigned long));
5074 5070
5075 h->num_luns = 0; 5071 h->num_luns = 0;
5076 h->highest_lun = -1; 5072 h->highest_lun = -1;