X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fscsi%2Fqlogicisp.c;h=aa80193ce2cac696c14da1ed7091a20e4f4c91e9;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=1be526c1c3a3b5eb8d46011a8905033cf3e9c0ff;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/drivers/scsi/qlogicisp.c b/drivers/scsi/qlogicisp.c index 1be526c1c..aa80193ce 100644 --- a/drivers/scsi/qlogicisp.c +++ b/drivers/scsi/qlogicisp.c @@ -564,7 +564,7 @@ struct isp_queue_entry { }; struct isp1020_hostdata { - u_long memaddr; + void __iomem *memaddr; u_char revision; struct host_param host_param; struct dev_param dev_param[MAX_TARGETS]; @@ -714,7 +714,7 @@ int isp1020_detect(Scsi_Host_Template *tmpt) continue; fail_uninit: - iounmap((void *)hostdata->memaddr); + iounmap(hostdata->memaddr); release_region(host->io_port, 0xff); fail_and_unregister: if (hostdata->res_cpu) @@ -747,7 +747,7 @@ int isp1020_release(struct Scsi_Host *host) isp_outw(0x0, host, PCI_INTF_CTL); free_irq(host->irq, host); - iounmap((void *)hostdata->memaddr); + iounmap(hostdata->memaddr); release_region(host->io_port, 0xff); @@ -769,7 +769,7 @@ const char *isp1020_info(struct Scsi_Host *host) "QLogic ISP1020 SCSI on PCI bus %02x device %02x irq %d %s base 0x%lx", hostdata->pci_dev->bus->number, hostdata->pci_dev->devfn, host->irq, (hostdata->memaddr ? "MEM" : "I/O"), - (hostdata->memaddr ? hostdata->memaddr : host->io_port)); + (hostdata->memaddr ? (unsigned long)hostdata->memaddr : host->io_port)); LEAVE("isp1020_info"); @@ -1410,18 +1410,17 @@ static int isp1020_init(struct Scsi_Host *sh) if ((command & PCI_COMMAND_MEMORY) && ((mem_flags & 1) == 0)) { - mem_base = (u_long) ioremap(mem_base, PAGE_SIZE); - if (!mem_base) { + hostdata->memaddr = ioremap(mem_base, PAGE_SIZE); + if (!hostdata->memaddr) { printk("qlogicisp : i/o remapping failed.\n"); goto out_release; } - hostdata->memaddr = mem_base; } else { if (command & PCI_COMMAND_IO && (io_flags & 3) != 1) { printk("qlogicisp : i/o mapping is disabled\n"); goto out_release; } - hostdata->memaddr = 0; /* zero to signify no i/o mapping */ + hostdata->memaddr = NULL; /* zero to signify no i/o mapping */ mem_base = 0; } @@ -1470,7 +1469,7 @@ static int isp1020_init(struct Scsi_Host *sh) return 0; out_unmap: - iounmap((void *)hostdata->memaddr); + iounmap(hostdata->memaddr); out_release: release_region(sh->io_port, 0xff); return 1;