mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] __iomem annotations for cciss
@ 2004-10-03 11:46 Christoph Hellwig
  0 siblings, 0 replies; only message in thread
From: Christoph Hellwig @ 2004-10-03 11:46 UTC (permalink / raw)
  To: mike.miller, iss_storagedev; +Cc: linux-kernel

Also remove the page masking before ioremap, it's not been nessecary for
ages.


--- 1.122/drivers/block/cciss.c	2004-08-23 10:15:28 +02:00
+++ edited/drivers/block/cciss.c	2004-10-02 15:14:22 +02:00
@@ -1841,17 +1841,6 @@
 	cmd_free(info_p, c, 1);
 	return (status);
 } 
-/*
- * Map (physical) PCI mem into (virtual) kernel space
- */
-static ulong remap_pci_mem(ulong base, ulong size)
-{
-        ulong page_base        = ((ulong) base) & PAGE_MASK;
-        ulong page_offs        = ((ulong) base) - page_base;
-        ulong page_remapped    = (ulong) ioremap(page_base, page_offs+size);
-
-        return (ulong) (page_remapped ? (page_remapped + page_offs) : 0UL);
-}
 
 /* 
  * Takes jobs of the Q and sends them to the hardware, then puts it on 
@@ -2369,11 +2358,7 @@
          *   table
 	 */
 
-	c->paddr = pci_resource_start(pdev, 0); /* addressing mode bits already removed */
-#ifdef CCISS_DEBUG
-	printk("address 0 = %x\n", c->paddr);
-#endif /* CCISS_DEBUG */ 
-	c->vaddr = remap_pci_mem(c->paddr, 200);
+	c->vaddr = ioremap(pci_resource_start(pdev, 0), 200);
 
 	/* Wait for the board to become ready.  (PCI hotplug needs this.)
 	 * We poll for up to 120 secs, once per 100ms. */
@@ -2410,8 +2395,7 @@
 #ifdef CCISS_DEBUG
 	printk("cfg offset = %x\n", cfg_offset);
 #endif /* CCISS_DEBUG */
-	c->cfgtable = (CfgTable_struct *) 
-		remap_pci_mem(pci_resource_start(pdev, cfg_base_addr_index)
+	c->cfgtable = ioremap(pci_resource_start(pdev, cfg_base_addr_index)
 				+ cfg_offset, sizeof(CfgTable_struct));
 	c->board_id = board_id;
 
@@ -2824,7 +2808,7 @@
 	}
 	free_irq(hba[i]->intr, hba[i]);
 	pci_set_drvdata(pdev, NULL);
-	iounmap((void*)hba[i]->vaddr);
+	iounmap(hba[i]->vaddr);
 	cciss_unregister_scsi(i);  /* unhook from SCSI subsystem */
 	unregister_blkdev(COMPAQ_CISS_MAJOR+i, hba[i]->devname);
 	remove_proc_entry(hba[i]->devname, proc_cciss);	
--- 1.24/drivers/block/cciss.h	2004-08-23 10:15:28 +02:00
+++ edited/drivers/block/cciss.h	2004-10-02 15:12:53 +02:00
@@ -43,11 +43,10 @@
 	char	firm_ver[4]; // Firmware version 
 	struct pci_dev *pdev;
 	__u32	board_id;
-	unsigned long vaddr;
-	unsigned long paddr;
+	void __iomem *vaddr;
 	unsigned long io_mem_addr;
 	unsigned long io_mem_length;
-	CfgTable_struct *cfgtable;
+	CfgTable_struct __iomem *cfgtable;
 	unsigned int intr;
 	int	interrupts_enabled;
 	int 	max_commands;

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2004-10-03 11:47 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-10-03 11:46 [PATCH] __iomem annotations for cciss Christoph Hellwig

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome