* [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