Hi Finn,
+/* zorro_esp.c: ESP front-end for Amiga ZORRO SCSI systems.
+ *
+ * Copyright (C) 1996 Jesper Skov (jskov@xxxxxxxxxxxx)
+ *
+ * Copyright (C) 2011,2018 Michael Schmitz (schmitz@xxxxxxxxxx) for
+ * migration to ESP SCSI core
You can blame me for some of this ;-)
I'll add a line here pointing out the source for the PIO code, so
others will have a chance to keep these in sync if needs be.
+fail_unmap_dma_regs:
+ if (ioaddr > 0xffffff)
+ iounmap(esp->dma_regs);
I think you need to test for ZORRO_PROD_PHASE5_BLIZZARD_1230_IV_1260 here?
On second thought - no, I don't. the ID check above only determines
what Zorro-3 address is ioremapped, but in each case where ioaddr >
0xffffff, something will have been mapped at this point.
+}
+
+static void zorro_esp_remove_one(struct zorro_dev *z)
+{
+ struct Scsi_Host *host = zorro_get_drvdata(z);
+ struct esp *esp = shost_priv(host);
+
+ scsi_esp_unregister(esp);
+
+ /* Disable interrupts. Perhaps use disable_irq instead ... */
+
+ free_irq(host->irq, esp);
+ dma_free_coherent(esp->dev, 16,
+ esp->command_block,
+ esp->command_block_dma);
+
+ if (host->base > 0xffffff) {
+ iounmap(esp->dma_regs);
Do you need to test for ZORRO_PROD_PHASE5_BLIZZARD_1230_IV_1260 first?
I can't - ent->id is not available here. But again, if host->base is
outside the Zorro-2 space, the DMA register mapping has been done
through ioremap() and needs to be undone here.
Cheers,
Michael
--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html