Merge error.
diff --git a/drivers/ide/ide-dma.c b/drivers/ide/ide-dma.c
index 3f4d4e6..edaccf8 100644
--- a/drivers/ide/ide-dma.c
+++ b/drivers/ide/ide-dma.c
@@ -267,7 +267,7 @@
 	if (sector_count > 128) {
 		memset(&sg[nents], 0, sizeof(*sg));
 		sg[nents].page = virt_to_page(virt_addr);
-		sg[nents].offset = ((unsigned long) virt_addr & ~PAGE_MASK);
+		sg[nents].offset = (unsigned long) virt_addr & ~PAGE_MASK;
 		sg[nents].length = 128  * SECTOR_SIZE;
 		nents++;
 		virt_addr = virt_addr + (128 * SECTOR_SIZE);
@@ -275,7 +275,7 @@
 	}
 	memset(&sg[nents], 0, sizeof(*sg));
 	sg[nents].page = virt_to_page(virt_addr);
-	sg[nents].offset = ((unsigned long) virt_addr & ~PAGE_MASK);
+	sg[nents].offset = (unsigned long) virt_addr & ~PAGE_MASK;
 	sg[nents].length =  sector_count  * SECTOR_SIZE;
 	nents++;
  #endif
diff --git a/include/asm-sh/scatterlist.h b/include/asm-sh/scatterlist.h
index b580e05..7b91df1 100644
--- a/include/asm-sh/scatterlist.h
+++ b/include/asm-sh/scatterlist.h
@@ -2,8 +2,9 @@
 #define __ASM_SH_SCATTERLIST_H
 
 struct scatterlist {
-    struct page *page;
-    unsigned int offset;
+    struct page * page; /* Location for highmem page, if any */
+    unsigned int offset;/* for highmem, page offset */
+    dma_addr_t dma_address;
     unsigned int length;
 };