Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dd7ab71b authored by Al Viro's avatar Al Viro
Browse files

NCR5830: switch to ->show_info()



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent b7654914
Loading
Loading
Loading
Loading
+27 −34
Original line number Diff line number Diff line
@@ -695,33 +695,35 @@ static void NCR5380_print_status(struct Scsi_Host *instance)
 * Return the number of bytes read from or written
 */

static int __maybe_unused NCR5380_write_info(struct Scsi_Host *instance,
	char *buffer, int length)
{
#ifdef DTC_PUBLIC_RELEASE
	dtc_wmaxi = dtc_maxi = 0;
#endif
#ifdef PAS16_PUBLIC_RELEASE
	pas_wmaxi = pas_maxi = 0;
#endif
	return (-ENOSYS);	/* Currently this is a no-op */
}

#undef SPRINTF
#define SPRINTF(args...) do { if(pos < buffer + length-80) pos += sprintf(pos, ## args); } while(0)
#define SPRINTF(args...) seq_printf(m, ## args)
static
char *lprint_Scsi_Cmnd(Scsi_Cmnd * cmd, char *pos, char *buffer, int length);
void lprint_Scsi_Cmnd(Scsi_Cmnd * cmd, struct seq_file *m);
static
char *lprint_command(unsigned char *cmd, char *pos, char *buffer, int len);
void lprint_command(unsigned char *cmd, struct seq_file *m);
static
char *lprint_opcode(int opcode, char *pos, char *buffer, int length);
void lprint_opcode(int opcode, struct seq_file *m);

static int __maybe_unused NCR5380_proc_info(struct Scsi_Host *instance,
	char *buffer, char **start, off_t offset, int length, int inout)
static int __maybe_unused NCR5380_show_info(struct seq_file *m,
	struct Scsi_Host *instance)
{
	char *pos = buffer;
	struct NCR5380_hostdata *hostdata;
	Scsi_Cmnd *ptr;

	hostdata = (struct NCR5380_hostdata *) instance->hostdata;

	if (inout) {		/* Has data been written to the file ? */
#ifdef DTC_PUBLIC_RELEASE
		dtc_wmaxi = dtc_maxi = 0;
#endif
#ifdef PAS16_PUBLIC_RELEASE
		pas_wmaxi = pas_maxi = 0;
#endif
		return (-ENOSYS);	/* Currently this is a no-op */
	}
	SPRINTF("NCR5380 core release=%d.   ", NCR5380_PUBLIC_RELEASE);
	if (((struct NCR5380_hostdata *) instance->hostdata)->flags & FLAG_NCR53C400)
		SPRINTF("ncr53c400 release=%d.  ", NCR53C400_PUBLIC_RELEASE);
@@ -755,46 +757,37 @@ static int __maybe_unused NCR5380_proc_info(struct Scsi_Host *instance,
	if (!hostdata->connected)
		SPRINTF("scsi%d: no currently connected command\n", instance->host_no);
	else
		pos = lprint_Scsi_Cmnd((Scsi_Cmnd *) hostdata->connected, pos, buffer, length);
		lprint_Scsi_Cmnd((Scsi_Cmnd *) hostdata->connected, m);
	SPRINTF("scsi%d: issue_queue\n", instance->host_no);
	for (ptr = (Scsi_Cmnd *) hostdata->issue_queue; ptr; ptr = (Scsi_Cmnd *) ptr->host_scribble)
		pos = lprint_Scsi_Cmnd(ptr, pos, buffer, length);
		lprint_Scsi_Cmnd(ptr, m);

	SPRINTF("scsi%d: disconnected_queue\n", instance->host_no);
	for (ptr = (Scsi_Cmnd *) hostdata->disconnected_queue; ptr; ptr = (Scsi_Cmnd *) ptr->host_scribble)
		pos = lprint_Scsi_Cmnd(ptr, pos, buffer, length);
		lprint_Scsi_Cmnd(ptr, m);
	spin_unlock_irq(instance->host_lock);
	
	*start = buffer;
	if (pos - buffer < offset)
	return 0;
	else if (pos - buffer - offset < length)
		return pos - buffer - offset;
	return length;
}

static char *lprint_Scsi_Cmnd(Scsi_Cmnd * cmd, char *pos, char *buffer, int length)
static void lprint_Scsi_Cmnd(Scsi_Cmnd * cmd, struct seq_file *m)
{
	SPRINTF("scsi%d : destination target %d, lun %d\n", cmd->device->host->host_no, cmd->device->id, cmd->device->lun);
	SPRINTF("        command = ");
	pos = lprint_command(cmd->cmnd, pos, buffer, length);
	return (pos);
	lprint_command(cmd->cmnd, m);
}

static char *lprint_command(unsigned char *command, char *pos, char *buffer, int length)
static void lprint_command(unsigned char *command, struct seq_file *m)
{
	int i, s;
	pos = lprint_opcode(command[0], pos, buffer, length);
	lprint_opcode(command[0], m);
	for (i = 1, s = COMMAND_SIZE(command[0]); i < s; ++i)
		SPRINTF("%02x ", command[i]);
	SPRINTF("\n");
	return (pos);
}

static char *lprint_opcode(int opcode, char *pos, char *buffer, int length)
static void lprint_opcode(int opcode, struct seq_file *m)
{
	SPRINTF("%2d (0x%02x)", opcode, opcode);
	return (pos);
}


+4 −2
Original line number Diff line number Diff line
@@ -314,8 +314,10 @@ static void NCR5380_print(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_proc_info(struct Scsi_Host *instance,
	char *buffer, char **start, off_t offset, int length, int inout);
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 int NCR5380_select(struct Scsi_Host *instance, Scsi_Cmnd * cmd, int tag);
+0 −1
Original line number Diff line number Diff line
@@ -30,7 +30,6 @@
#define NCR5380_write(reg, value)	cumanascsi_write(_instance, reg, value)
#define NCR5380_intr			cumanascsi_intr
#define NCR5380_queue_command		cumanascsi_queue_command
#define NCR5380_proc_info		cumanascsi_proc_info

#define NCR5380_implementation_fields	\
	unsigned ctrl;			\
+4 −2
Original line number Diff line number Diff line
@@ -31,7 +31,8 @@
#define NCR5380_write(reg, value)	writeb(value, _base + ((reg) << 2))
#define NCR5380_intr			oakscsi_intr
#define NCR5380_queue_command		oakscsi_queue_command
#define NCR5380_proc_info		oakscsi_proc_info
#define NCR5380_show_info		oakscsi_show_info
#define NCR5380_write_info		oakscsi_write_info

#define NCR5380_implementation_fields	\
	void __iomem *base
@@ -115,7 +116,8 @@ printk("reading %p len %d\n", addr, len);

static struct scsi_host_template oakscsi_template = {
	.module			= THIS_MODULE,
	.proc_info		= oakscsi_proc_info,
	.show_info		= oakscsi_show_info,
	.write_info		= oakscsi_write_info,
	.name			= "Oak 16-bit SCSI",
	.info			= oakscsi_info,
	.queuecommand		= oakscsi_queue_command,
+2 −1
Original line number Diff line number Diff line
@@ -216,7 +216,8 @@ static int __init dtc_detect(struct scsi_host_template * tpnt)
	int sig, count;

	tpnt->proc_name = "dtc3x80";
	tpnt->proc_info = &dtc_proc_info;
	tpnt->show_info = dtc_show_info;
	tpnt->write_info = dtc_write_info;

	for (count = 0; current_override < NO_OVERRIDES; ++current_override) {
		addr = 0;
Loading