Loading drivers/scsi/a2091.c +2 −1 Original line number Original line Diff line number Diff line Loading @@ -166,7 +166,8 @@ static int a2091_bus_reset(struct scsi_cmnd *cmd) static struct scsi_host_template a2091_scsi_template = { static struct scsi_host_template a2091_scsi_template = { .module = THIS_MODULE, .module = THIS_MODULE, .name = "Commodore A2091/A590 SCSI", .name = "Commodore A2091/A590 SCSI", .proc_info = wd33c93_proc_info, .show_info = wd33c93_show_info, .write_info = wd33c93_write_info, .proc_name = "A2901", .proc_name = "A2901", .queuecommand = wd33c93_queuecommand, .queuecommand = wd33c93_queuecommand, .eh_abort_handler = wd33c93_abort, .eh_abort_handler = wd33c93_abort, Loading drivers/scsi/a3000.c +2 −1 Original line number Original line Diff line number Diff line Loading @@ -181,7 +181,8 @@ static int a3000_bus_reset(struct scsi_cmnd *cmd) static struct scsi_host_template amiga_a3000_scsi_template = { static struct scsi_host_template amiga_a3000_scsi_template = { .module = THIS_MODULE, .module = THIS_MODULE, .name = "Amiga 3000 built-in SCSI", .name = "Amiga 3000 built-in SCSI", .proc_info = wd33c93_proc_info, .show_info = wd33c93_show_info, .write_info = wd33c93_write_info, .proc_name = "A3000", .proc_name = "A3000", .queuecommand = wd33c93_queuecommand, .queuecommand = wd33c93_queuecommand, .eh_abort_handler = wd33c93_abort, .eh_abort_handler = wd33c93_abort, Loading drivers/scsi/gvp11.c +2 −1 Original line number Original line Diff line number Diff line Loading @@ -191,7 +191,8 @@ static int gvp11_bus_reset(struct scsi_cmnd *cmd) static struct scsi_host_template gvp11_scsi_template = { static struct scsi_host_template gvp11_scsi_template = { .module = THIS_MODULE, .module = THIS_MODULE, .name = "GVP Series II SCSI", .name = "GVP Series II SCSI", .proc_info = wd33c93_proc_info, .show_info = wd33c93_show_info, .write_info = wd33c93_write_info, .proc_name = "GVP11", .proc_name = "GVP11", .queuecommand = wd33c93_queuecommand, .queuecommand = wd33c93_queuecommand, .eh_abort_handler = wd33c93_abort, .eh_abort_handler = wd33c93_abort, Loading drivers/scsi/mvme147.c +2 −1 Original line number Original line Diff line number Diff line Loading @@ -76,7 +76,8 @@ int mvme147_detect(struct scsi_host_template *tpnt) called++; called++; tpnt->proc_name = "MVME147"; tpnt->proc_name = "MVME147"; tpnt->proc_info = &wd33c93_proc_info; tpnt->show_info = wd33c93_show_info, tpnt->write_info = wd33c93_write_info, instance = scsi_register(tpnt, sizeof(struct WD33C93_hostdata)); instance = scsi_register(tpnt, sizeof(struct WD33C93_hostdata)); if (!instance) if (!instance) Loading drivers/scsi/wd33c93.c +84 −110 Original line number Original line Diff line number Diff line Loading @@ -2054,22 +2054,16 @@ wd33c93_init(struct Scsi_Host *instance, const wd33c93_regs regs, printk(" Version %s - %s\n", WD33C93_VERSION, WD33C93_DATE); printk(" Version %s - %s\n", WD33C93_VERSION, WD33C93_DATE); } } int int wd33c93_write_info(struct Scsi_Host *instance, char *buf, int len) wd33c93_proc_info(struct Scsi_Host *instance, char *buf, char **start, off_t off, int len, int in) { { #ifdef PROC_INTERFACE #ifdef PROC_INTERFACE char *bp; char *bp; char tbuf[128]; struct WD33C93_hostdata *hd; struct WD33C93_hostdata *hd; struct scsi_cmnd *cmd; int x; int x; static int stop = 0; hd = (struct WD33C93_hostdata *) instance->hostdata; hd = (struct WD33C93_hostdata *) instance->hostdata; /* If 'in' is TRUE we need to _read_ the proc file. We accept the following /* We accept the following * keywords (same format as command-line, but arguments are not optional): * keywords (same format as command-line, but arguments are not optional): * debug * debug * disconnect * disconnect Loading @@ -2083,7 +2077,6 @@ wd33c93_proc_info(struct Scsi_Host *instance, char *buf, char **start, off_t off * nosync * nosync */ */ if (in) { buf[len] = '\0'; buf[len] = '\0'; for (bp = buf; *bp; ) { for (bp = buf; *bp; ) { while (',' == *bp || ' ' == *bp) while (',' == *bp || ' ' == *bp) Loading Loading @@ -2125,103 +2118,83 @@ wd33c93_proc_info(struct Scsi_Host *instance, char *buf, char **start, off_t off } } } } return len; return len; #else return 0; #endif } } int wd33c93_show_info(struct seq_file *m, struct Scsi_Host *instance) { #ifdef PROC_INTERFACE struct WD33C93_hostdata *hd; struct scsi_cmnd *cmd; int x; hd = (struct WD33C93_hostdata *) instance->hostdata; spin_lock_irq(&hd->lock); spin_lock_irq(&hd->lock); bp = buf; if (hd->proc & PR_VERSION) *bp = '\0'; seq_printf(m, "\nVersion %s - %s.", if (hd->proc & PR_VERSION) { sprintf(tbuf, "\nVersion %s - %s.", WD33C93_VERSION, WD33C93_DATE); WD33C93_VERSION, WD33C93_DATE); strcat(bp, tbuf); } if (hd->proc & PR_INFO) { if (hd->proc & PR_INFO) { sprintf(tbuf, "\nclock_freq=%02x no_sync=%02x no_dma=%d" seq_printf(m, "\nclock_freq=%02x no_sync=%02x no_dma=%d" " dma_mode=%02x fast=%d", " dma_mode=%02x fast=%d", hd->clock_freq, hd->no_sync, hd->no_dma, hd->dma_mode, hd->fast); hd->clock_freq, hd->no_sync, hd->no_dma, hd->dma_mode, hd->fast); strcat(bp, tbuf); seq_printf(m, "\nsync_xfer[] = "); strcat(bp, "\nsync_xfer[] = "); for (x = 0; x < 7; x++) for (x = 0; x < 7; x++) { seq_printf(m, "\t%02x", hd->sync_xfer[x]); sprintf(tbuf, "\t%02x", hd->sync_xfer[x]); seq_printf(m, "\nsync_stat[] = "); strcat(bp, tbuf); for (x = 0; x < 7; x++) } seq_printf(m, "\t%02x", hd->sync_stat[x]); strcat(bp, "\nsync_stat[] = "); for (x = 0; x < 7; x++) { sprintf(tbuf, "\t%02x", hd->sync_stat[x]); strcat(bp, tbuf); } } } #ifdef PROC_STATISTICS #ifdef PROC_STATISTICS if (hd->proc & PR_STATISTICS) { if (hd->proc & PR_STATISTICS) { strcat(bp, "\ncommands issued: "); seq_printf(m, "\ncommands issued: "); for (x = 0; x < 7; x++) { for (x = 0; x < 7; x++) sprintf(tbuf, "\t%ld", hd->cmd_cnt[x]); seq_printf(m, "\t%ld", hd->cmd_cnt[x]); strcat(bp, tbuf); seq_printf(m, "\ndisconnects allowed:"); } for (x = 0; x < 7; x++) strcat(bp, "\ndisconnects allowed:"); seq_printf(m, "\t%ld", hd->disc_allowed_cnt[x]); for (x = 0; x < 7; x++) { seq_printf(m, "\ndisconnects done: "); sprintf(tbuf, "\t%ld", hd->disc_allowed_cnt[x]); for (x = 0; x < 7; x++) strcat(bp, tbuf); seq_printf(m, "\t%ld", hd->disc_done_cnt[x]); } seq_printf(m, strcat(bp, "\ndisconnects done: "); for (x = 0; x < 7; x++) { sprintf(tbuf, "\t%ld", hd->disc_done_cnt[x]); strcat(bp, tbuf); } sprintf(tbuf, "\ninterrupts: %ld, DATA_PHASE ints: %ld DMA, %ld PIO", "\ninterrupts: %ld, DATA_PHASE ints: %ld DMA, %ld PIO", hd->int_cnt, hd->dma_cnt, hd->pio_cnt); hd->int_cnt, hd->dma_cnt, hd->pio_cnt); strcat(bp, tbuf); } } #endif #endif if (hd->proc & PR_CONNECTED) { if (hd->proc & PR_CONNECTED) { strcat(bp, "\nconnected: "); seq_printf(m, "\nconnected: "); if (hd->connected) { if (hd->connected) { cmd = (struct scsi_cmnd *) hd->connected; cmd = (struct scsi_cmnd *) hd->connected; sprintf(tbuf, " %d:%d(%02x)", seq_printf(m, " %d:%d(%02x)", cmd->device->id, cmd->device->lun, cmd->cmnd[0]); cmd->device->id, cmd->device->lun, cmd->cmnd[0]); strcat(bp, tbuf); } } } } if (hd->proc & PR_INPUTQ) { if (hd->proc & PR_INPUTQ) { strcat(bp, "\ninput_Q: "); seq_printf(m, "\ninput_Q: "); cmd = (struct scsi_cmnd *) hd->input_Q; cmd = (struct scsi_cmnd *) hd->input_Q; while (cmd) { while (cmd) { sprintf(tbuf, " %d:%d(%02x)", seq_printf(m, " %d:%d(%02x)", cmd->device->id, cmd->device->lun, cmd->cmnd[0]); cmd->device->id, cmd->device->lun, cmd->cmnd[0]); strcat(bp, tbuf); cmd = (struct scsi_cmnd *) cmd->host_scribble; cmd = (struct scsi_cmnd *) cmd->host_scribble; } } } } if (hd->proc & PR_DISCQ) { if (hd->proc & PR_DISCQ) { strcat(bp, "\ndisconnected_Q:"); seq_printf(m, "\ndisconnected_Q:"); cmd = (struct scsi_cmnd *) hd->disconnected_Q; cmd = (struct scsi_cmnd *) hd->disconnected_Q; while (cmd) { while (cmd) { sprintf(tbuf, " %d:%d(%02x)", seq_printf(m, " %d:%d(%02x)", cmd->device->id, cmd->device->lun, cmd->cmnd[0]); cmd->device->id, cmd->device->lun, cmd->cmnd[0]); strcat(bp, tbuf); cmd = (struct scsi_cmnd *) cmd->host_scribble; cmd = (struct scsi_cmnd *) cmd->host_scribble; } } } } strcat(bp, "\n"); seq_printf(m, "\n"); spin_unlock_irq(&hd->lock); spin_unlock_irq(&hd->lock); *start = buf; if (stop) { stop = 0; return 0; } if (off > 0x40000) /* ALWAYS stop after 256k bytes have been read */ stop = 1; if (hd->proc & PR_STOP) /* stop every other time */ stop = 1; return strlen(bp); #else /* PROC_INTERFACE */ return 0; #endif /* PROC_INTERFACE */ #endif /* PROC_INTERFACE */ return 0; } } EXPORT_SYMBOL(wd33c93_host_reset); EXPORT_SYMBOL(wd33c93_host_reset); Loading @@ -2229,4 +2202,5 @@ EXPORT_SYMBOL(wd33c93_init); EXPORT_SYMBOL(wd33c93_abort); EXPORT_SYMBOL(wd33c93_abort); EXPORT_SYMBOL(wd33c93_queuecommand); EXPORT_SYMBOL(wd33c93_queuecommand); EXPORT_SYMBOL(wd33c93_intr); EXPORT_SYMBOL(wd33c93_intr); EXPORT_SYMBOL(wd33c93_proc_info); EXPORT_SYMBOL(wd33c93_show_info); EXPORT_SYMBOL(wd33c93_write_info); Loading
drivers/scsi/a2091.c +2 −1 Original line number Original line Diff line number Diff line Loading @@ -166,7 +166,8 @@ static int a2091_bus_reset(struct scsi_cmnd *cmd) static struct scsi_host_template a2091_scsi_template = { static struct scsi_host_template a2091_scsi_template = { .module = THIS_MODULE, .module = THIS_MODULE, .name = "Commodore A2091/A590 SCSI", .name = "Commodore A2091/A590 SCSI", .proc_info = wd33c93_proc_info, .show_info = wd33c93_show_info, .write_info = wd33c93_write_info, .proc_name = "A2901", .proc_name = "A2901", .queuecommand = wd33c93_queuecommand, .queuecommand = wd33c93_queuecommand, .eh_abort_handler = wd33c93_abort, .eh_abort_handler = wd33c93_abort, Loading
drivers/scsi/a3000.c +2 −1 Original line number Original line Diff line number Diff line Loading @@ -181,7 +181,8 @@ static int a3000_bus_reset(struct scsi_cmnd *cmd) static struct scsi_host_template amiga_a3000_scsi_template = { static struct scsi_host_template amiga_a3000_scsi_template = { .module = THIS_MODULE, .module = THIS_MODULE, .name = "Amiga 3000 built-in SCSI", .name = "Amiga 3000 built-in SCSI", .proc_info = wd33c93_proc_info, .show_info = wd33c93_show_info, .write_info = wd33c93_write_info, .proc_name = "A3000", .proc_name = "A3000", .queuecommand = wd33c93_queuecommand, .queuecommand = wd33c93_queuecommand, .eh_abort_handler = wd33c93_abort, .eh_abort_handler = wd33c93_abort, Loading
drivers/scsi/gvp11.c +2 −1 Original line number Original line Diff line number Diff line Loading @@ -191,7 +191,8 @@ static int gvp11_bus_reset(struct scsi_cmnd *cmd) static struct scsi_host_template gvp11_scsi_template = { static struct scsi_host_template gvp11_scsi_template = { .module = THIS_MODULE, .module = THIS_MODULE, .name = "GVP Series II SCSI", .name = "GVP Series II SCSI", .proc_info = wd33c93_proc_info, .show_info = wd33c93_show_info, .write_info = wd33c93_write_info, .proc_name = "GVP11", .proc_name = "GVP11", .queuecommand = wd33c93_queuecommand, .queuecommand = wd33c93_queuecommand, .eh_abort_handler = wd33c93_abort, .eh_abort_handler = wd33c93_abort, Loading
drivers/scsi/mvme147.c +2 −1 Original line number Original line Diff line number Diff line Loading @@ -76,7 +76,8 @@ int mvme147_detect(struct scsi_host_template *tpnt) called++; called++; tpnt->proc_name = "MVME147"; tpnt->proc_name = "MVME147"; tpnt->proc_info = &wd33c93_proc_info; tpnt->show_info = wd33c93_show_info, tpnt->write_info = wd33c93_write_info, instance = scsi_register(tpnt, sizeof(struct WD33C93_hostdata)); instance = scsi_register(tpnt, sizeof(struct WD33C93_hostdata)); if (!instance) if (!instance) Loading
drivers/scsi/wd33c93.c +84 −110 Original line number Original line Diff line number Diff line Loading @@ -2054,22 +2054,16 @@ wd33c93_init(struct Scsi_Host *instance, const wd33c93_regs regs, printk(" Version %s - %s\n", WD33C93_VERSION, WD33C93_DATE); printk(" Version %s - %s\n", WD33C93_VERSION, WD33C93_DATE); } } int int wd33c93_write_info(struct Scsi_Host *instance, char *buf, int len) wd33c93_proc_info(struct Scsi_Host *instance, char *buf, char **start, off_t off, int len, int in) { { #ifdef PROC_INTERFACE #ifdef PROC_INTERFACE char *bp; char *bp; char tbuf[128]; struct WD33C93_hostdata *hd; struct WD33C93_hostdata *hd; struct scsi_cmnd *cmd; int x; int x; static int stop = 0; hd = (struct WD33C93_hostdata *) instance->hostdata; hd = (struct WD33C93_hostdata *) instance->hostdata; /* If 'in' is TRUE we need to _read_ the proc file. We accept the following /* We accept the following * keywords (same format as command-line, but arguments are not optional): * keywords (same format as command-line, but arguments are not optional): * debug * debug * disconnect * disconnect Loading @@ -2083,7 +2077,6 @@ wd33c93_proc_info(struct Scsi_Host *instance, char *buf, char **start, off_t off * nosync * nosync */ */ if (in) { buf[len] = '\0'; buf[len] = '\0'; for (bp = buf; *bp; ) { for (bp = buf; *bp; ) { while (',' == *bp || ' ' == *bp) while (',' == *bp || ' ' == *bp) Loading Loading @@ -2125,103 +2118,83 @@ wd33c93_proc_info(struct Scsi_Host *instance, char *buf, char **start, off_t off } } } } return len; return len; #else return 0; #endif } } int wd33c93_show_info(struct seq_file *m, struct Scsi_Host *instance) { #ifdef PROC_INTERFACE struct WD33C93_hostdata *hd; struct scsi_cmnd *cmd; int x; hd = (struct WD33C93_hostdata *) instance->hostdata; spin_lock_irq(&hd->lock); spin_lock_irq(&hd->lock); bp = buf; if (hd->proc & PR_VERSION) *bp = '\0'; seq_printf(m, "\nVersion %s - %s.", if (hd->proc & PR_VERSION) { sprintf(tbuf, "\nVersion %s - %s.", WD33C93_VERSION, WD33C93_DATE); WD33C93_VERSION, WD33C93_DATE); strcat(bp, tbuf); } if (hd->proc & PR_INFO) { if (hd->proc & PR_INFO) { sprintf(tbuf, "\nclock_freq=%02x no_sync=%02x no_dma=%d" seq_printf(m, "\nclock_freq=%02x no_sync=%02x no_dma=%d" " dma_mode=%02x fast=%d", " dma_mode=%02x fast=%d", hd->clock_freq, hd->no_sync, hd->no_dma, hd->dma_mode, hd->fast); hd->clock_freq, hd->no_sync, hd->no_dma, hd->dma_mode, hd->fast); strcat(bp, tbuf); seq_printf(m, "\nsync_xfer[] = "); strcat(bp, "\nsync_xfer[] = "); for (x = 0; x < 7; x++) for (x = 0; x < 7; x++) { seq_printf(m, "\t%02x", hd->sync_xfer[x]); sprintf(tbuf, "\t%02x", hd->sync_xfer[x]); seq_printf(m, "\nsync_stat[] = "); strcat(bp, tbuf); for (x = 0; x < 7; x++) } seq_printf(m, "\t%02x", hd->sync_stat[x]); strcat(bp, "\nsync_stat[] = "); for (x = 0; x < 7; x++) { sprintf(tbuf, "\t%02x", hd->sync_stat[x]); strcat(bp, tbuf); } } } #ifdef PROC_STATISTICS #ifdef PROC_STATISTICS if (hd->proc & PR_STATISTICS) { if (hd->proc & PR_STATISTICS) { strcat(bp, "\ncommands issued: "); seq_printf(m, "\ncommands issued: "); for (x = 0; x < 7; x++) { for (x = 0; x < 7; x++) sprintf(tbuf, "\t%ld", hd->cmd_cnt[x]); seq_printf(m, "\t%ld", hd->cmd_cnt[x]); strcat(bp, tbuf); seq_printf(m, "\ndisconnects allowed:"); } for (x = 0; x < 7; x++) strcat(bp, "\ndisconnects allowed:"); seq_printf(m, "\t%ld", hd->disc_allowed_cnt[x]); for (x = 0; x < 7; x++) { seq_printf(m, "\ndisconnects done: "); sprintf(tbuf, "\t%ld", hd->disc_allowed_cnt[x]); for (x = 0; x < 7; x++) strcat(bp, tbuf); seq_printf(m, "\t%ld", hd->disc_done_cnt[x]); } seq_printf(m, strcat(bp, "\ndisconnects done: "); for (x = 0; x < 7; x++) { sprintf(tbuf, "\t%ld", hd->disc_done_cnt[x]); strcat(bp, tbuf); } sprintf(tbuf, "\ninterrupts: %ld, DATA_PHASE ints: %ld DMA, %ld PIO", "\ninterrupts: %ld, DATA_PHASE ints: %ld DMA, %ld PIO", hd->int_cnt, hd->dma_cnt, hd->pio_cnt); hd->int_cnt, hd->dma_cnt, hd->pio_cnt); strcat(bp, tbuf); } } #endif #endif if (hd->proc & PR_CONNECTED) { if (hd->proc & PR_CONNECTED) { strcat(bp, "\nconnected: "); seq_printf(m, "\nconnected: "); if (hd->connected) { if (hd->connected) { cmd = (struct scsi_cmnd *) hd->connected; cmd = (struct scsi_cmnd *) hd->connected; sprintf(tbuf, " %d:%d(%02x)", seq_printf(m, " %d:%d(%02x)", cmd->device->id, cmd->device->lun, cmd->cmnd[0]); cmd->device->id, cmd->device->lun, cmd->cmnd[0]); strcat(bp, tbuf); } } } } if (hd->proc & PR_INPUTQ) { if (hd->proc & PR_INPUTQ) { strcat(bp, "\ninput_Q: "); seq_printf(m, "\ninput_Q: "); cmd = (struct scsi_cmnd *) hd->input_Q; cmd = (struct scsi_cmnd *) hd->input_Q; while (cmd) { while (cmd) { sprintf(tbuf, " %d:%d(%02x)", seq_printf(m, " %d:%d(%02x)", cmd->device->id, cmd->device->lun, cmd->cmnd[0]); cmd->device->id, cmd->device->lun, cmd->cmnd[0]); strcat(bp, tbuf); cmd = (struct scsi_cmnd *) cmd->host_scribble; cmd = (struct scsi_cmnd *) cmd->host_scribble; } } } } if (hd->proc & PR_DISCQ) { if (hd->proc & PR_DISCQ) { strcat(bp, "\ndisconnected_Q:"); seq_printf(m, "\ndisconnected_Q:"); cmd = (struct scsi_cmnd *) hd->disconnected_Q; cmd = (struct scsi_cmnd *) hd->disconnected_Q; while (cmd) { while (cmd) { sprintf(tbuf, " %d:%d(%02x)", seq_printf(m, " %d:%d(%02x)", cmd->device->id, cmd->device->lun, cmd->cmnd[0]); cmd->device->id, cmd->device->lun, cmd->cmnd[0]); strcat(bp, tbuf); cmd = (struct scsi_cmnd *) cmd->host_scribble; cmd = (struct scsi_cmnd *) cmd->host_scribble; } } } } strcat(bp, "\n"); seq_printf(m, "\n"); spin_unlock_irq(&hd->lock); spin_unlock_irq(&hd->lock); *start = buf; if (stop) { stop = 0; return 0; } if (off > 0x40000) /* ALWAYS stop after 256k bytes have been read */ stop = 1; if (hd->proc & PR_STOP) /* stop every other time */ stop = 1; return strlen(bp); #else /* PROC_INTERFACE */ return 0; #endif /* PROC_INTERFACE */ #endif /* PROC_INTERFACE */ return 0; } } EXPORT_SYMBOL(wd33c93_host_reset); EXPORT_SYMBOL(wd33c93_host_reset); Loading @@ -2229,4 +2202,5 @@ EXPORT_SYMBOL(wd33c93_init); EXPORT_SYMBOL(wd33c93_abort); EXPORT_SYMBOL(wd33c93_abort); EXPORT_SYMBOL(wd33c93_queuecommand); EXPORT_SYMBOL(wd33c93_queuecommand); EXPORT_SYMBOL(wd33c93_intr); EXPORT_SYMBOL(wd33c93_intr); EXPORT_SYMBOL(wd33c93_proc_info); EXPORT_SYMBOL(wd33c93_show_info); EXPORT_SYMBOL(wd33c93_write_info);