IB/usnic: Use for_each_sg instead of a for-loop

Use for_each_sg() instead of an explicit for-loop to iterate over
scatter-gather list.

Signed-off-by: Upinder Malhi <umalhi@cisco.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
diff --git a/drivers/infiniband/hw/usnic/usnic_uiom.c b/drivers/infiniband/hw/usnic/usnic_uiom.c
index c841a75..ae6934c 100644
--- a/drivers/infiniband/hw/usnic/usnic_uiom.c
+++ b/drivers/infiniband/hw/usnic/usnic_uiom.c
@@ -80,13 +80,14 @@
 {
 	struct usnic_uiom_chunk *chunk, *tmp;
 	struct page *page;
+	struct scatterlist *sg;
 	int i;
 	dma_addr_t pa;
 
 	list_for_each_entry_safe(chunk, tmp, chunk_list, list) {
-		for (i = 0; i < chunk->nents; i++) {
-			page = sg_page(&chunk->page_list[i]);
-			pa = sg_phys(&chunk->page_list[i]);
+		for_each_sg(chunk->page_list, sg, chunk->nents, i) {
+			page = sg_page(sg);
+			pa = sg_phys(sg);
 			if (dirty)
 				set_page_dirty_lock(page);
 			put_page(page);
@@ -100,6 +101,7 @@
 				int dmasync, struct list_head *chunk_list)
 {
 	struct page **page_list;
+	struct scatterlist *sg;
 	struct usnic_uiom_chunk *chunk;
 	unsigned long locked;
 	unsigned long lock_limit;
@@ -165,11 +167,10 @@
 
 			chunk->nents = min_t(int, ret, USNIC_UIOM_PAGE_CHUNK);
 			sg_init_table(chunk->page_list, chunk->nents);
-			for (i = 0; i < chunk->nents; ++i) {
-				sg_set_page(&chunk->page_list[i],
-							page_list[i + off],
-							PAGE_SIZE, 0);
-				pa = sg_phys(&chunk->page_list[i]);
+			for_each_sg(chunk->page_list, sg, chunk->nents, i) {
+				sg_set_page(sg, page_list[i + off],
+						PAGE_SIZE, 0);
+				pa = sg_phys(sg);
 				usnic_dbg("va: 0x%lx pa: %pa\n",
 						cur_base + i*PAGE_SIZE, &pa);
 			}