static int NCR5380_transfer_dma(struct Scsi_Host *instance, unsigned char *phase, int *count, unsigned char **data);
#include <linux/interrupt.h>
#include <linux/workqueue.h>
#include <scsi/scsi_dbg.h>
#include <scsi/scsi_eh.h>
#include <scsi/scsi_transport_spi.h>
#define NDEBUG_ARBITRATION 0x1
#define NDEBUG_AUTOSENSE 0x2
#define NDEBUG_HANDSHAKE 0x8
#define NDEBUG_INFORMATION 0x10
#define NDEBUG_LINKED 0x80
#define NDEBUG_MAIN 0x100
#define NDEBUG_NO_DATAOUT 0x200
#define NDEBUG_NO_WRITE 0x400
#define NDEBUG_PSEUDO_DMA 0x1000
#define NDEBUG_QUEUES 0x2000
#define NDEBUG_RESELECTION 0x4000
#define NDEBUG_SELECTION 0x8000
#define NDEBUG_USLEEP 0x10000
#define NDEBUG_LAST_BYTE_SENT 0x20000
#define NDEBUG_RESTART_SELECT 0x40000
#define NDEBUG_EXTENDED 0x80000
#define NDEBUG_C400_PREAD 0x100000
#define NDEBUG_C400_PWRITE 0x200000
#define NDEBUG_LISTS 0x400000
#define NDEBUG_ABORT 0x800000
#define NDEBUG_TAGS 0x1000000
#define NDEBUG_MERGING 0x2000000
#define NDEBUG_ANY 0xFFFFFFFFUL
#define OUTPUT_DATA_REG 0
#define CURRENT_SCSI_DATA_REG 0
#define INITIATOR_COMMAND_REG 1
#define ICR_ASSERT_RST 0x80
#define ICR_ARBITRATION_PROGRESS 0x40
#define ICR_TRI_STATE 0x40
#define ICR_ARBITRATION_LOST 0x20
#define ICR_DIFF_ENABLE 0x20
#define ICR_ASSERT_ACK 0x10
#define ICR_ASSERT_BSY 0x08
#define ICR_ASSERT_SEL 0x04
#define ICR_ASSERT_ATN 0x02
#define ICR_ASSERT_DATA 0x01