提交 4d3d2a54 编写于 作者: F Finn Thain 提交者: Christoph Hellwig

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: NFinn Thain <fthain@telegraphics.com.au>
Tested-by: NMichael Schmitz <schmitzmic@gmail.com>
Reviewed-by: NHannes Reinecke <hare@suse.de>
Signed-off-by: NChristoph Hellwig <hch@lst.de>
上级 ed8b9e7f
...@@ -322,14 +322,6 @@ static irqreturn_t NCR5380_intr(int irq, void *dev_id); ...@@ -322,14 +322,6 @@ static irqreturn_t NCR5380_intr(int irq, void *dev_id);
#endif #endif
static void NCR5380_main(struct work_struct *work); static void NCR5380_main(struct work_struct *work);
static void __maybe_unused NCR5380_print_options(struct Scsi_Host *instance); static void __maybe_unused NCR5380_print_options(struct Scsi_Host *instance);
static int NCR5380_abort(Scsi_Cmnd * cmd);
static int NCR5380_bus_reset(Scsi_Cmnd * cmd);
static int NCR5380_queue_command(struct Scsi_Host *, struct scsi_cmnd *);
static int __maybe_unused NCR5380_show_info(struct seq_file *,
struct Scsi_Host *);
static int __maybe_unused NCR5380_write_info(struct Scsi_Host *instance,
char *buffer, int length);
static void NCR5380_reselect(struct Scsi_Host *instance); static void NCR5380_reselect(struct Scsi_Host *instance);
static int NCR5380_select(struct Scsi_Host *instance, Scsi_Cmnd * cmd, int tag); static int NCR5380_select(struct Scsi_Host *instance, Scsi_Cmnd * cmd, int tag);
#if defined(PSEUDO_DMA) || defined(REAL_DMA) || defined(REAL_DMA_POLL) #if defined(PSEUDO_DMA) || defined(REAL_DMA) || defined(REAL_DMA_POLL)
......
...@@ -772,7 +772,8 @@ static void show_Scsi_Cmnd(Scsi_Cmnd *cmd, struct seq_file *m) ...@@ -772,7 +772,8 @@ static void show_Scsi_Cmnd(Scsi_Cmnd *cmd, struct seq_file *m)
seq_printf(m, "\n"); seq_printf(m, "\n");
} }
static int NCR5380_show_info(struct seq_file *m, struct Scsi_Host *instance) static int __maybe_unused NCR5380_show_info(struct seq_file *m,
struct Scsi_Host *instance)
{ {
struct NCR5380_hostdata *hostdata; struct NCR5380_hostdata *hostdata;
Scsi_Cmnd *ptr; Scsi_Cmnd *ptr;
......
...@@ -783,45 +783,6 @@ static int __init atari_scsi_setup(char *str) ...@@ -783,45 +783,6 @@ static int __init atari_scsi_setup(char *str)
__setup("atascsi=", atari_scsi_setup); __setup("atascsi=", atari_scsi_setup);
#endif /* !MODULE */ #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 #ifdef CONFIG_ATARI_SCSI_RESET_BOOT
static void __init atari_scsi_reset_boot(void) 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) ...@@ -1094,6 +1055,43 @@ static void atari_scsi_falcon_reg_write(unsigned char reg, unsigned char value)
#include "atari_NCR5380.c" #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 = { static struct scsi_host_template driver_template = {
.show_info = atari_scsi_show_info, .show_info = atari_scsi_show_info,
.name = "Atari native SCSI", .name = "Atari native SCSI",
......
...@@ -219,10 +219,6 @@ static int __init dtc_detect(struct scsi_host_template * tpnt) ...@@ -219,10 +219,6 @@ static int __init dtc_detect(struct scsi_host_template * tpnt)
void __iomem *base; void __iomem *base;
int sig, count; int sig, count;
tpnt->proc_name = "dtc3x80";
tpnt->show_info = dtc_show_info;
tpnt->write_info = dtc_write_info;
for (count = 0; current_override < NO_OVERRIDES; ++current_override) { for (count = 0; current_override < NO_OVERRIDES; ++current_override) {
addr = 0; addr = 0;
base = NULL; base = NULL;
...@@ -477,6 +473,9 @@ static struct scsi_host_template driver_template = { ...@@ -477,6 +473,9 @@ static struct scsi_host_template driver_template = {
.name = "DTC 3180/3280 ", .name = "DTC 3180/3280 ",
.detect = dtc_detect, .detect = dtc_detect,
.release = dtc_release, .release = dtc_release,
.proc_name = "dtc3x80",
.show_info = dtc_show_info,
.write_info = dtc_write_info,
.queuecommand = dtc_queue_command, .queuecommand = dtc_queue_command,
.eh_abort_handler = dtc_abort, .eh_abort_handler = dtc_abort,
.eh_bus_reset_handler = dtc_bus_reset, .eh_bus_reset_handler = dtc_bus_reset,
......
...@@ -390,10 +390,6 @@ static int __init pas16_detect(struct scsi_host_template *tpnt) ...@@ -390,10 +390,6 @@ static int __init pas16_detect(struct scsi_host_template *tpnt)
unsigned short io_port; unsigned short io_port;
int count; int count;
tpnt->proc_name = "pas16";
tpnt->show_info = pas16_show_info;
tpnt->write_info = pas16_write_info;
if (pas16_addr != 0) { if (pas16_addr != 0) {
overrides[0].io_port = pas16_addr; overrides[0].io_port = pas16_addr;
/* /*
...@@ -620,6 +616,9 @@ static struct scsi_host_template driver_template = { ...@@ -620,6 +616,9 @@ static struct scsi_host_template driver_template = {
.name = "Pro Audio Spectrum-16 SCSI", .name = "Pro Audio Spectrum-16 SCSI",
.detect = pas16_detect, .detect = pas16_detect,
.release = pas16_release, .release = pas16_release,
.proc_name = "pas16",
.show_info = pas16_show_info,
.write_info = pas16_write_info,
.queuecommand = pas16_queue_command, .queuecommand = pas16_queue_command,
.eh_abort_handler = pas16_abort, .eh_abort_handler = pas16_abort,
.eh_bus_reset_handler = pas16_bus_reset, .eh_bus_reset_handler = pas16_bus_reset,
......
...@@ -718,7 +718,8 @@ static void show_Scsi_Cmnd(Scsi_Cmnd *cmd, struct seq_file *m) ...@@ -718,7 +718,8 @@ static void show_Scsi_Cmnd(Scsi_Cmnd *cmd, struct seq_file *m)
seq_printf(m, "\n"); seq_printf(m, "\n");
} }
static int NCR5380_show_info(struct seq_file *m, struct Scsi_Host *instance) static int __maybe_unused NCR5380_show_info(struct seq_file *m,
struct Scsi_Host *instance)
{ {
struct NCR5380_hostdata *hostdata; struct NCR5380_hostdata *hostdata;
Scsi_Cmnd *ptr; Scsi_Cmnd *ptr;
......
...@@ -201,10 +201,6 @@ static int __init t128_detect(struct scsi_host_template *tpnt) ...@@ -201,10 +201,6 @@ static int __init t128_detect(struct scsi_host_template *tpnt)
void __iomem *p; void __iomem *p;
int sig, count; int sig, count;
tpnt->proc_name = "t128";
tpnt->show_info = t128_show_info;
tpnt->write_info = t128_write_info;
for (count = 0; current_override < NO_OVERRIDES; ++current_override) { for (count = 0; current_override < NO_OVERRIDES; ++current_override) {
base = 0; base = 0;
p = NULL; p = NULL;
...@@ -435,6 +431,9 @@ static struct scsi_host_template driver_template = { ...@@ -435,6 +431,9 @@ static struct scsi_host_template driver_template = {
.name = "Trantor T128/T128F/T228", .name = "Trantor T128/T128F/T228",
.detect = t128_detect, .detect = t128_detect,
.release = t128_release, .release = t128_release,
.proc_name = "t128",
.show_info = t128_show_info,
.write_info = t128_write_info,
.queuecommand = t128_queue_command, .queuecommand = t128_queue_command,
.eh_abort_handler = t128_abort, .eh_abort_handler = t128_abort,
.eh_bus_reset_handler = t128_bus_reset, .eh_bus_reset_handler = t128_bus_reset,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册