All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/22] ncr5380: Eliminate macros, reduce code duplication, fix bugs etc
@ 2016-03-14  4:27 ` Finn Thain
  0 siblings, 0 replies; 100+ messages in thread
From: Finn Thain @ 2016-03-14  4:27 UTC (permalink / raw)
  To: James E.J. Bottomley, Martin K. Petersen, Michael Schmitz,
	linux-m68k, linux-scsi, linux-kernel
  Cc: Ondrej Zary, Sam Creasey


This patch series has more macro elimination and some tweaks to the
DMA hooks so that all the wrapper drivers can share the same core
DMA algorithm. This resolves the major discrepancies between the two
core drivers, which relate to code conditional on the REAL_DMA and
PSEUDO_DMA macros.

After all the wrapper drivers agree on the DMA hook api, the core driver
fork gets resolved. NCR5380.c is adopted by atari_scsi and sun3_scsi and
atari_NCR5380.c is then deleted.

Historically, the 5380 drivers suffered from over-use of conditional
compilation, which caused the compile-time configuration space to explode,
leading to core driver code that was practically untestable, unmaintainable
and difficult to reason about. It also prevented driver modules from
sharing object code.

Along with REAL_DMA, REAL_DMA_POLL and PSEUDO_DMA, most of the remaining
macros are also eradicated, such as CONFIG_SCSI_GENERIC_NCR53C400,
SUPPORT_TAGS, DONT_USE_INTR, AUTOPROBE_IRQ and BIOSPARAM.

Also in this patch series, some duplicated documentation is removed and
the PDMA implementation in mac_scsi finally gets fixed.

This patch series was tested by exercising the dmx3191d and mac_scsi modules
on suitable hardware. Help with driver testing on ISA and Atari hardware
is sought as I don't have any (likewise RiscPC ecards and Sun 3 hardware).

---
 Documentation/scsi/g_NCR5380.txt       |   17 
 Documentation/scsi/scsi-parameters.txt |   11 
 drivers/scsi/Kconfig                   |   11 
 drivers/scsi/NCR5380.c                 |  661 ++++----
 drivers/scsi/NCR5380.h                 |  145 -
 drivers/scsi/arm/cumana_1.c            |   25 
 drivers/scsi/arm/oak.c                 |   22 
 drivers/scsi/atari_NCR5380.c           | 2676 ---------------------------------
 drivers/scsi/atari_scsi.c              |  142 -
 drivers/scsi/dmx3191d.c                |   10 
 drivers/scsi/dtc.c                     |   27 
 drivers/scsi/dtc.h                     |    7 
 drivers/scsi/g_NCR5380.c               |  143 -
 drivers/scsi/g_NCR5380.h               |   26 
 drivers/scsi/mac_scsi.c                |  239 +-
 drivers/scsi/pas16.c                   |   27 
 drivers/scsi/pas16.h                   |    5 
 drivers/scsi/sun3_scsi.c               |   48 
 drivers/scsi/t128.c                    |   19 
 drivers/scsi/t128.h                    |    7 
 20 files changed, 636 insertions(+), 3632 deletions(-)

^ permalink raw reply	[flat|nested] 100+ messages in thread

end of thread, other threads:[~2016-03-18  7:03 UTC | newest]

Thread overview: 100+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-14  4:27 [PATCH 00/22] ncr5380: Eliminate macros, reduce code duplication, fix bugs etc Finn Thain
2016-03-14  4:27 ` Finn Thain
2016-03-14  4:27 ` [PATCH 01/22] g_ncr5380: Remove CONFIG_SCSI_GENERIC_NCR53C400 Finn Thain
2016-03-14  4:27   ` Finn Thain
2016-03-14  7:21   ` Hannes Reinecke
2016-03-14  4:27 ` [PATCH 02/22] ncr5380: Remove FLAG_NO_PSEUDO_DMA where possible Finn Thain
2016-03-14  4:27   ` Finn Thain
2016-03-14  7:21   ` Hannes Reinecke
2016-03-14  4:27 ` [PATCH 03/22] ncr5380: Remove REAL_DMA and REAL_DMA_POLL macros Finn Thain
2016-03-14  4:27   ` Finn Thain
2016-03-14  7:23   ` Hannes Reinecke
2016-03-14  7:23     ` Hannes Reinecke
2016-03-14  4:27 ` [PATCH 04/22] atari_NCR5380: Remove DMA_MIN_SIZE macro Finn Thain
2016-03-14  4:27   ` Finn Thain
2016-03-14  7:25   ` Hannes Reinecke
2016-03-14  7:25     ` Hannes Reinecke
2016-03-15  3:18     ` Finn Thain
2016-03-14  4:27 ` [PATCH 05/22] ncr5380: Disable the DMA errata workaround flag by default Finn Thain
2016-03-14  4:27   ` Finn Thain
2016-03-14  4:27   ` Finn Thain
2016-03-14  7:26   ` Hannes Reinecke
2016-03-14  7:26     ` Hannes Reinecke
2016-03-14  7:26     ` Hannes Reinecke
2016-03-14  4:27 ` [PATCH 06/22] ncr5380: Remove PSEUDO_DMA macro Finn Thain
2016-03-14  4:27   ` Finn Thain
2016-03-14  4:27   ` Finn Thain
2016-03-14  7:28   ` Hannes Reinecke
2016-03-14  7:28     ` Hannes Reinecke
2016-03-14  4:27 ` [PATCH 07/22] ncr5380: Remove BOARD_REQUIRES_NO_DELAY macro Finn Thain
2016-03-14  4:27   ` Finn Thain
2016-03-14  7:33   ` Hannes Reinecke
2016-03-14  4:27 ` [PATCH 08/22] ncr5380: Use DMA hooks for PDMA Finn Thain
2016-03-14  4:27   ` Finn Thain
2016-03-14  4:27   ` Finn Thain
2016-03-14  7:34   ` Hannes Reinecke
2016-03-14  7:34     ` Hannes Reinecke
2016-03-14  4:27 ` [PATCH 09/22] ncr5380: Adopt uniform DMA setup convention Finn Thain
2016-03-14  4:27   ` Finn Thain
2016-03-14  4:27   ` Finn Thain
2016-03-14  7:36   ` Hannes Reinecke
2016-03-14  7:36     ` Hannes Reinecke
2016-03-15  3:19     ` Finn Thain
2016-03-15  3:19       ` Finn Thain
2016-03-15  6:49       ` Hannes Reinecke
2016-03-15  6:49         ` Hannes Reinecke
2016-03-14  4:27 ` [PATCH 10/22] ncr5380: Merge DMA implementation from atari_NCR5380 core driver Finn Thain
2016-03-14  4:27   ` Finn Thain
2016-03-14  4:27   ` Finn Thain
2016-03-14  7:38   ` Hannes Reinecke
2016-03-14  7:38     ` Hannes Reinecke
2016-03-14  4:27 ` [PATCH 11/22] atari_scsi: Adopt NCR5380.c " Finn Thain
2016-03-14  4:27   ` Finn Thain
2016-03-14  7:39   ` Hannes Reinecke
2016-03-14  4:27 ` [PATCH 12/22] sun3_scsi: " Finn Thain
2016-03-14  4:27   ` Finn Thain
2016-03-14  7:40   ` Hannes Reinecke
2016-03-14  7:40     ` Hannes Reinecke
2016-03-14  4:27 ` [PATCH 13/22] ncr5380: Remove disused atari_NCR5380.c " Finn Thain
2016-03-14  4:27   ` Finn Thain
2016-03-14  7:42   ` Hannes Reinecke
2016-03-14  7:42     ` Hannes Reinecke
2016-03-14  4:27 ` [PATCH 14/22] ncr5380: Add MAX_LUN limit Finn Thain
2016-03-14  4:27   ` Finn Thain
2016-03-14  7:43   ` Hannes Reinecke
2016-03-14  7:51   ` Christoph Hellwig
2016-03-15  3:20     ` Finn Thain
2016-03-15  8:26       ` Christoph Hellwig
2016-03-14  4:27 ` [PATCH 15/22] dmx3191d: Drop max_sectors limit Finn Thain
2016-03-14  4:27   ` Finn Thain
2016-03-14  7:43   ` Hannes Reinecke
2016-03-14  4:27 ` [PATCH 16/22] ncr5380: Fix register decoding for debugging Finn Thain
2016-03-14  4:27   ` Finn Thain
2016-03-14  7:46   ` Hannes Reinecke
2016-03-15  3:21     ` Finn Thain
2016-03-14  4:27 ` [PATCH 17/22] ncr5380: Remove remaining register storage qualifiers Finn Thain
2016-03-14  4:27   ` Finn Thain
2016-03-14  7:46   ` Hannes Reinecke
2016-03-14  4:27 ` [PATCH 18/22] ncr5380: Remove DONT_USE_INTR and AUTOPROBE_IRQ macros Finn Thain
2016-03-14  4:27   ` Finn Thain
2016-03-14  4:27   ` Finn Thain
2016-03-14  7:47   ` Hannes Reinecke
2016-03-14  7:47     ` Hannes Reinecke
2016-03-14  4:27 ` [PATCH 19/22] ncr5380: Update usage documentation Finn Thain
2016-03-14  4:27   ` Finn Thain
2016-03-14  7:47   ` Hannes Reinecke
2016-03-14  4:27 ` [PATCH 20/22] atari_scsi: Set a reasonable default for cmd_per_lun Finn Thain
2016-03-14  4:27   ` Finn Thain
2016-03-14  7:49   ` Hannes Reinecke
2016-03-15  3:27     ` Finn Thain
2016-03-15  6:53       ` Hannes Reinecke
2016-03-15  8:27         ` Finn Thain
2016-03-15 14:34       ` James Bottomley
2016-03-14  4:27 ` [PATCH 21/22] atari_scsi: Allow can_queue to be increased for Falcon Finn Thain
2016-03-14  4:27   ` Finn Thain
2016-03-14  7:58   ` Hannes Reinecke
2016-03-14  7:58     ` Hannes Reinecke
2016-03-14  4:27 ` [PATCH 22/22] mac_scsi: Fix pseudo DMA implementation Finn Thain
2016-03-14  4:27   ` Finn Thain
2016-03-14  7:59   ` Hannes Reinecke
2016-03-18  7:03 ` [PATCH 00/22] ncr5380: Eliminate macros, reduce code duplication, fix bugs etc Michael Schmitz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.