diff options
author | Finn Thain <fthain@telegraphics.com.au> | 2014-11-12 16:11:52 +1100 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2014-11-20 09:11:05 +0100 |
commit | 4d3d2a54f731aa25f66adcf934ba9a55ca8204d4 (patch) | |
tree | 99ddb1b68ec6d13a81550f07f4d877b1bea81df4 /drivers/scsi/atari_scsi.c | |
parent | ed8b9e7f1827ebae902e868866438d1bcdbef0a2 (diff) |
ncr5380: Remove more useless prototypes
Make use of the host template static initializer instead of assigning
handlers at run-time. Move __maybe_unused qualifiers from declarations
to definitions. Move the atari_scsi_bus_reset() wrapper after the
definition of NCR5380_bus_reset(). All of the host template handler
prototypes are now redundant so remove them.
The write_info() handler is only relevant to drivers using PSEUDO_DMA so
this patch fixes the compiler warning in atari_NCR5380.c and sun3_NCR5380.c:
CC drivers/scsi/atari_scsi.o
drivers/scsi/NCR5380.h:329: warning: 'NCR5380_write_info' declared 'static' but never defined
Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Tested-by: Michael Schmitz <schmitzmic@gmail.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'drivers/scsi/atari_scsi.c')
-rw-r--r-- | drivers/scsi/atari_scsi.c | 76 |
1 files changed, 37 insertions, 39 deletions
diff --git a/drivers/scsi/atari_scsi.c b/drivers/scsi/atari_scsi.c index 151beea19b9a..a68d6257bc68 100644 --- a/drivers/scsi/atari_scsi.c +++ b/drivers/scsi/atari_scsi.c @@ -783,45 +783,6 @@ static int __init atari_scsi_setup(char *str) __setup("atascsi=", atari_scsi_setup); #endif /* !MODULE */ -static int atari_scsi_bus_reset(Scsi_Cmnd *cmd) -{ - int rv; - struct NCR5380_hostdata *hostdata = - (struct NCR5380_hostdata *)cmd->device->host->hostdata; - - /* For doing the reset, SCSI interrupts must be disabled first, - * since the 5380 raises its IRQ line while _RST is active and we - * can't disable interrupts completely, since we need the timer. - */ - /* And abort a maybe active DMA transfer */ - if (IS_A_TT()) { - atari_turnoff_irq(IRQ_TT_MFP_SCSI); -#ifdef REAL_DMA - tt_scsi_dma.dma_ctrl = 0; -#endif /* REAL_DMA */ - } else { - atari_turnoff_irq(IRQ_MFP_FSCSI); -#ifdef REAL_DMA - st_dma.dma_mode_status = 0x90; - atari_dma_active = 0; - atari_dma_orig_addr = NULL; -#endif /* REAL_DMA */ - } - - rv = NCR5380_bus_reset(cmd); - - /* Re-enable ints */ - if (IS_A_TT()) { - atari_turnon_irq(IRQ_TT_MFP_SCSI); - } else { - atari_turnon_irq(IRQ_MFP_FSCSI); - } - if (rv == SUCCESS) - falcon_release_lock_if_possible(hostdata); - - return rv; -} - #ifdef CONFIG_ATARI_SCSI_RESET_BOOT static void __init atari_scsi_reset_boot(void) @@ -1094,6 +1055,43 @@ static void atari_scsi_falcon_reg_write(unsigned char reg, unsigned char value) #include "atari_NCR5380.c" +static int atari_scsi_bus_reset(struct scsi_cmnd *cmd) +{ + int rv; + struct NCR5380_hostdata *hostdata = shost_priv(cmd->device->host); + + /* For doing the reset, SCSI interrupts must be disabled first, + * since the 5380 raises its IRQ line while _RST is active and we + * can't disable interrupts completely, since we need the timer. + */ + /* And abort a maybe active DMA transfer */ + if (IS_A_TT()) { + atari_turnoff_irq(IRQ_TT_MFP_SCSI); +#ifdef REAL_DMA + tt_scsi_dma.dma_ctrl = 0; +#endif + } else { + atari_turnoff_irq(IRQ_MFP_FSCSI); +#ifdef REAL_DMA + st_dma.dma_mode_status = 0x90; + atari_dma_active = 0; + atari_dma_orig_addr = NULL; +#endif + } + + rv = NCR5380_bus_reset(cmd); + + if (IS_A_TT()) + atari_turnon_irq(IRQ_TT_MFP_SCSI); + else + atari_turnon_irq(IRQ_MFP_FSCSI); + + if (rv == SUCCESS) + falcon_release_lock_if_possible(hostdata); + + return rv; +} + static struct scsi_host_template driver_template = { .show_info = atari_scsi_show_info, .name = "Atari native SCSI", |