Deprecate DAC960 driver
Subsystems (2)
v3 cover Deprecate DAC960 driver
Hi all,
as we're trying to get rid of the remaining request_fn drivers here's a patchset to move the DAC960 driver to the SCSI stack.
As per request from hch I've split up the driver into two new SCSI drivers called 'myrb' and 'myrs'.
The 'myrb' driver only supports the earlier (V1) firmware interface, which doesn't have a SCSI interface for the logical drives; for those I've added a (pretty rudimentary, admittedly) SCSI translation for them.
The 'myrs' driver supports the newer (V2) firmware interface, which is SCSI based and doesn't need the translation layer.
And the weird proc interface from DAC960 has been converted to sysfs attributes.
Tested with eXtremeRAID 1100 (for V1 Firmware) and Mylex AcceleRAID 170 (for V2 Firmware).
Changes to v2:
- Move to dma_pool API
- Fixup 0-day build issues
- Add myrb_biosparam
- Dropped patch merged with upstream
Changes to v1:
- Split into two drivers
- Improve scanning for V1 firmware interface
Hannes Reinecke (4):
raid_class: Add 'JBOD' RAID level
myrb: Add Mylex RAID controller (block interface)
myrs: Add Mylex RAID controller (SCSI interface) drivers/block: Remove DAC960 driver
Documentation/blockdev/README.DAC960 | 756 ---- drivers/block/DAC960.c | 7244 ---------------------------------- drivers/block/DAC960.h | 4415 --------------------- drivers/block/Kconfig | 12 - drivers/block/Makefile | 1 - drivers/scsi/Kconfig | 30 + drivers/scsi/Makefile | 2 + drivers/scsi/myrb.c | 3263 +++++++++++++++ drivers/scsi/myrb.h | 1891 +++++++++ drivers/scsi/myrs.c | 2950 ++++++++++++++ drivers/scsi/myrs.h | 2042 ++++++++++ drivers/scsi/raid_class.c | 1 + include/linux/raid_class.h | 1 + 13 files changed, 10180 insertions(+), 12428 deletions(-) delete mode 100644 Documentation/blockdev/README.DAC960 delete mode 100644 drivers/block/DAC960.c delete mode 100644 drivers/block/DAC960.h create mode 100644 drivers/scsi/myrb.c create mode 100644 drivers/scsi/myrb.h create mode 100644 drivers/scsi/myrs.c create mode 100644 drivers/scsi/myrs.h
Signature · 1 line
2.12.3
PATCH v3 1/4 raid_class: Add 'JBOD' RAID level
Not a real RAID level, but some HBAs support JBOD in addition to the 'classical' RAID levels.
--- drivers/scsi/raid_class.c | 1 + include/linux/raid_class.h | 1 + 2 files changed, 2 insertions(+)
drivers/scsi/raid_class.c +1 -0
@@ -157,6 +157,7 @@ static struct { { RAID_LEVEL_5, "raid5" }, { RAID_LEVEL_50, "raid50" }, { RAID_LEVEL_6, "raid6" }, + { RAID_LEVEL_JBOD, "jbod" }, };static const char *raid_level_name (enum raid_level level)
include/linux/raid_class.h +1 -0
@@ -38,6 +38,7 @@ enum raid_level {RAID_LEVEL_5 ,RAID_LEVEL_50 ,RAID_LEVEL_6 , + RAID_LEVEL_JBOD, }; struct raid_data {
Signature · 1 line
2.12.3
PATCH v3 2/4 myrb: Add Mylex RAID controller (block interface)
In reply to Hannes ReineckeThis patch adds support for the Mylex DAC960 RAID controller, supporting the older, block-based interface only.
The driver is a re-implementation of the original DAC960 driver.
--- drivers/scsi/Kconfig | 15 + drivers/scsi/Makefile | 1 + drivers/scsi/myrb.c | 3263 +++++++++++++++++++++++++++++++++++++++++++++++++ drivers/scsi/myrb.h | 1891 ++++++++++++++++++++++++++++ 4 files changed, 5170 insertions(+) create mode 100644 drivers/scsi/myrb.c create mode 100644 drivers/scsi/myrb.h
drivers/scsi/Kconfig +15 -0
@@ -556,6 +556,21 @@ config SCSI_FLASHPOINT substantial, so users of MultiMaster Host Adapters may not wish to include it. +config SCSI_MYRB + tristate "Mylex DAC960/DAC1100 PCI RAID Controller (Block Interface)" + depends on PCI + select RAID_ATTRS + help + This driver adds support for the Mylex DAC960, AcceleRAID, and + eXtremeRAID PCI RAID controllers. This driver supports the + older, block based interface. + This driver is a reimplementation of the original DAC960 + driver. If you have used the DAC960 driver you should enable + this module. + + To compile this driver as a module, choose M here: the + module will be called myrb. + config VMWARE_PVSCSI tristate "VMware PVSCSI driver support" depends on PCI && SCSI && X86
drivers/scsi/Makefile +1 -0
@@ -111,6 +111,7 @@ obj-$(CONFIG_SCSI_INIA100) += a100u2w.o obj-$(CONFIG_SCSI_QLOGICPTI) += qlogicpti.o obj-$(CONFIG_SCSI_MESH) += mesh.o obj-$(CONFIG_SCSI_MAC53C94) += mac53c94.o +obj-$(CONFIG_SCSI_MYRB) += myrb.o obj-$(CONFIG_BLK_DEV_3W_XXXX_RAID) += 3w-xxxx.o obj-$(CONFIG_SCSI_3W_9XXX) += 3w-9xxx.o obj-$(CONFIG_SCSI_3W_SAS) += 3w-sas.o
drivers/scsi/myrb.c new file +3263 -0
2,972 lines not on this page · raw message
drivers/scsi/myrb.h new file +1891 -0
1,891 lines not on this page · raw message
The rest of this diff is not shown. View the raw message.
Signature · 1 line
2.12.3
Part of the diff is not shown here. View the raw message.
PATCH v3 3/4 myrs: Add Mylex RAID controller (SCSI interface)
In reply to Hannes ReineckeThis patch adds support for the Mylex DAC960 RAID controller, supporting the newer, SCSI-based interface.
The driver is a re-implementation of the original DAC960 driver.
--- drivers/scsi/Kconfig | 15 + drivers/scsi/Makefile | 1 + drivers/scsi/myrs.c | 2950 +++++++++++++++++++++++++++++++++++++++++++++++++ drivers/scsi/myrs.h | 2042 ++++++++++++++++++++++++++++++++++ 4 files changed, 5008 insertions(+) create mode 100644 drivers/scsi/myrs.c create mode 100644 drivers/scsi/myrs.h
drivers/scsi/Kconfig +15 -0
@@ -571,6 +571,21 @@ config SCSI_MYRB To compile this driver as a module, choose M here: the module will be called myrb. +config SCSI_MYRS + tristate "Mylex DAC960/DAC1100 PCI RAID Controller (SCSI Interface)" + depends on PCI + select RAID_ATTRS + help + This driver adds support for the Mylex DAC960, AcceleRAID, and + eXtremeRAID PCI RAID controllers. This driver supports the + newer, SCSI-based interface only. + This driver is a reimplementation of the original DAC960 + driver. If you have used the DAC960 driver you should enable + this module. + + To compile this driver as a module, choose M here: the + module will be called myrs. + config VMWARE_PVSCSI tristate "VMware PVSCSI driver support" depends on PCI && SCSI && X86
drivers/scsi/Makefile +1 -0
@@ -112,6 +112,7 @@ obj-$(CONFIG_SCSI_QLOGICPTI) += qlogicpti.o obj-$(CONFIG_SCSI_MESH) += mesh.o obj-$(CONFIG_SCSI_MAC53C94) += mac53c94.o obj-$(CONFIG_SCSI_MYRB) += myrb.o +obj-$(CONFIG_SCSI_MYRS) += myrs.o obj-$(CONFIG_BLK_DEV_3W_XXXX_RAID) += 3w-xxxx.o obj-$(CONFIG_SCSI_3W_9XXX) += 3w-9xxx.o obj-$(CONFIG_SCSI_3W_SAS) += 3w-sas.o
drivers/scsi/myrs.c new file +2950 -0
2,950 lines not on this page · raw message
drivers/scsi/myrs.h new file +2042 -0
22 lines not on this page · raw message
The rest of this diff is not shown. View the raw message.
Signature · 1 line
2.12.3
Part of the diff is not shown here. View the raw message.
Hannes,
Quoted 10 lines
as we're trying to get rid of the remaining
request_fndrivers here's a patchset to move the DAC960 driver to the SCSI stack. As per request from hch I've split up the driver into two new SCSI drivers called 'myrb' and 'myrs'.The 'myrb' driver only supports the earlier (V1) firmware interface, which doesn't have a SCSI interface for the logical drives; for those I've added a (pretty rudimentary, admittedly) SCSI translation for them.
Quoted 5 lines
The 'myrs' driver supports the newer (V2) firmware interface, which is SCSI based and doesn't need the translation layer.
And the weird proc interface from DAC960 has been converted to sysfs attributes.
Thanks for doing this. I merged these into 4.17/scsi-queue.
Signature · 1 line
Martin K. Petersen Oracle Linux Engineering