fdomain: Resurrect driver
RFC PATCH 1/1 fdomain: Resurrect driver
Resurrect previously removed fdomain driver, in modern style. Initialization is rewritten completely, with support for multiple cards, no more global state variables.
Most of the code from interrupt handler is moved to a workqueue.
Tested on Adaptec AHA-2920A PCI card. ISA and PCMCIA code is untested as I don't have the hardware.
Signed-off-by Ondrej Zary <[email protected]>
--- drivers/scsi/Kconfig | 18 + drivers/scsi/Makefile | 1 + drivers/scsi/fdomain.c | 992 +++++++++++++++++++++++++++++++++++++ drivers/scsi/fdomain.h | 7 + drivers/scsi/pcmcia/Kconfig | 9 + drivers/scsi/pcmcia/Makefile | 2 + drivers/scsi/pcmcia/fdomain_core.c | 2 + drivers/scsi/pcmcia/fdomain_stub.c | 89 ++++ 8 files changed, 1120 insertions(+) create mode 100644 drivers/scsi/fdomain.c create mode 100644 drivers/scsi/fdomain.h create mode 100644 drivers/scsi/pcmcia/fdomain_core.c create mode 100644 drivers/scsi/pcmcia/fdomain_stub.c
drivers/scsi/Kconfig +18 -0
@@ -663,6 +663,24 @@ config SCSI_DMX3191D To compile this driver as a module, choose M here: the module will be called dmx3191d. +config SCSI_FUTURE_DOMAIN + tristate "Future Domain 16xx SCSI/AHA-2920A support" + depends on (ISA || PCI) && SCSI + select CHECK_SIGNATURE + help + This is support for Future Domain's 16-bit SCSI host adapters + (TMC-1660/1680, TMC-1650/1670, TMC-3260, TMC-1610M/MER/MEX) and + other adapters based on the Future Domain chipsets (Quantum + ISA-200S, ISA-250MG; Adaptec AHA-2920A; and at least one IBM board). + + NOTE: Newer Adaptec AHA-2920C boards use the Adaptec AIC-7850 chip + and should use the aic7xxx driver ("Adaptec AIC7xxx chipset SCSI + controller support"). This Future Domain driver works with the older + Adaptec AHA-2920A boards with a Future Domain chip on them. + + To compile this driver as a module, choose M here: the + module will be called fdomain. + config SCSI_GDTH tristate "Intel/ICP (former GDT SCSI Disk Array) RAID Controller support" depends on PCI && SCSI
drivers/scsi/Makefile +1 -0
@@ -76,6 +76,7 @@ obj-$(CONFIG_SCSI_AIC94XX) += aic94xx/ obj-$(CONFIG_SCSI_PM8001) += pm8001/ obj-$(CONFIG_SCSI_ISCI) += isci/ obj-$(CONFIG_SCSI_IPS) += ips.o +obj-$(CONFIG_SCSI_FUTURE_DOMAIN)+= fdomain.o obj-$(CONFIG_SCSI_GENERIC_NCR5380) += g_NCR5380.o obj-$(CONFIG_SCSI_QLOGIC_FAS) += qlogicfas408.o qlogicfas.o obj-$(CONFIG_PCMCIA_QLOGIC) += qlogicfas408.o
drivers/scsi/fdomain.c new file +992 -0
992 lines not on this page · raw message
drivers/scsi/fdomain.h new file +7 -0
@@ -0,0 +1,7 @@ +/* SPDX-License-Identifier: GPL-2.0 */ + +extern struct Scsi_Host *fdomain_create (int port_base,int irq,int this_id, +int bios_base,void *sig, +struct device *dev); +extern void fdomain_reset (int port_base); +extern int fdomain_destroy (struct Scsi_Host *sh);
drivers/scsi/pcmcia/Kconfig +9 -0
@@ -19,6 +19,15 @@ config PCMCIA_AHA152X To compile this driver as a module, choose M here: the module will be called aha152x_cs. +config PCMCIA_FDOMAIN + tristate "Future Domain PCMCIA support" + help + Say Y here if you intend to attach this type of PCMCIA SCSI host + adapter to your computer. + + To compile this driver as a module, choose M here: the + module will be called fdomain_cs. + config PCMCIA_NINJA_SCSI tristate "NinjaSCSI-3 / NinjaSCSI-32Bi (16bit) PCMCIA support" depends on !64BIT
drivers/scsi/pcmcia/Makefile +2 -0
@@ -4,9 +4,11 @@ ccflags-y := -I $(srctree)/drivers/scsi # 16-bit client drivers obj-$(CONFIG_PCMCIA_QLOGIC) += qlogic_cs.o +obj-$(CONFIG_PCMCIA_FDOMAIN) += fdomain_cs.o obj-$(CONFIG_PCMCIA_AHA152X) += aha152x_cs.o obj-$(CONFIG_PCMCIA_NINJA_SCSI) += nsp_cs.o obj-$(CONFIG_PCMCIA_SYM53C500) += sym53c500_cs.o aha152x_cs-objs := aha152x_stub.o aha152x_core.o +fdomain_cs-objs := fdomain_stub.o fdomain_core.o qlogic_cs-objs := qlogic_stub.o
drivers/scsi/pcmcia/fdomain_core.c new file +2 -0
@@ -0,0 +1,2 @@ +#define PCMCIA 1 +#include "fdomain.c"
drivers/scsi/pcmcia/fdomain_stub.c new file +89 -0
89 lines not on this page · raw message
Signature · 1 line
Ondrej Zary
As mentioned before: please drop the unused ISA and PCIMCIA code. We don't need to (re-)add untested code.
Quoted 2 lines · Christoph Hellwig
As mentioned before: please drop the unused ISA and PCIMCIA code. We don't need to (re-)add untested code.
I fully agree with regard to the PCMCIA part.
Thanks,
Dominik