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>
This commit is contained in:
parent
ed8b9e7f18
commit
4d3d2a54f7
@ -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)
|
|||||||
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)
|
|||||||
__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)
|
|||||||
|
|
||||||
#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)
|
|||||||
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 = {
|
|||||||
.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)
|
|||||||
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 = {
|
|||||||
.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)
|
|||||||
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)
|
|||||||
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 = {
|
|||||||
.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,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user