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

Commit 275084cb authored by Al Viro's avatar Al Viro
Browse files

aha152x: switch to ->show_info()



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 31491e1a
Loading
Loading
Loading
Loading
+12 −49
Original line number Diff line number Diff line
@@ -2977,11 +2977,10 @@ static void show_queues(struct Scsi_Host *shpnt)
}

#undef SPRINTF
#define SPRINTF(args...) pos += sprintf(pos, ## args)
#define SPRINTF(args...) seq_printf(m, ##args)

static int get_command(char *pos, Scsi_Cmnd * ptr)
static void get_command(struct seq_file *m, Scsi_Cmnd * ptr)
{
	char *start = pos;
	int i;

	SPRINTF("%p: target=%d; lun=%d; cmnd=( ",
@@ -3011,13 +3010,10 @@ static int get_command(char *pos, Scsi_Cmnd * ptr)
	if (ptr->SCp.phase & syncneg)
		SPRINTF("syncneg|");
	SPRINTF("; next=0x%p\n", SCNEXT(ptr));

	return (pos - start);
}

static int get_ports(struct Scsi_Host *shpnt, char *pos)
static void get_ports(struct seq_file *m, struct Scsi_Host *shpnt)
{
	char *start = pos;
	int s;

	SPRINTF("\n%s: %s(%s) ", CURRENT_SC ? "on bus" : "waiting", states[STATE].name, states[PREVSTATE].name);
@@ -3273,11 +3269,9 @@ static int get_ports(struct Scsi_Host *shpnt, char *pos)
	if (s & ENREQINIT)
		SPRINTF("ENREQINIT ");
	SPRINTF(")\n");

	return (pos - start);
}

static int aha152x_set_info(char *buffer, int length, struct Scsi_Host *shpnt)
static int aha152x_set_info(struct Scsi_Host *shpnt, char *buffer, int length)
{
	if(!shpnt || !buffer || length<8 || strncmp("aha152x ", buffer, 8)!=0)
		return -EINVAL;
@@ -3320,26 +3314,11 @@ static int aha152x_set_info(char *buffer, int length, struct Scsi_Host *shpnt)
	return length;
}

#undef SPRINTF
#define SPRINTF(args...) \
	do { if(pos < buffer + length) pos += sprintf(pos, ## args); } while(0)

static int aha152x_proc_info(struct Scsi_Host *shpnt, char *buffer, char **start,
		      off_t offset, int length, int inout)
static int aha152x_show_info(struct seq_file *m, struct Scsi_Host *shpnt)
{
	int i;
	char *pos = buffer;
	Scsi_Cmnd *ptr;
	unsigned long flags;
	int thislength;

	DPRINTK(debug_procinfo, 
	       KERN_DEBUG "aha152x_proc_info: buffer=%p offset=%ld length=%d hostno=%d inout=%d\n",
	       buffer, offset, length, shpnt->host_no, inout);


	if (inout)
		return aha152x_set_info(buffer, length, shpnt);

	SPRINTF(AHA152X_REVID "\n");

@@ -3392,25 +3371,25 @@ static int aha152x_proc_info(struct Scsi_Host *shpnt, char *buffer, char **start
	if (ISSUE_SC) {
		SPRINTF("not yet issued commands:\n");
		for (ptr = ISSUE_SC; ptr; ptr = SCNEXT(ptr))
			pos += get_command(pos, ptr);
			get_command(m, ptr);
	} else
		SPRINTF("no not yet issued commands\n");
	DO_UNLOCK(flags);

	if (CURRENT_SC) {
		SPRINTF("current command:\n");
		pos += get_command(pos, CURRENT_SC);
		get_command(m, CURRENT_SC);
	} else
		SPRINTF("no current command\n");

	if (DISCONNECTED_SC) {
		SPRINTF("disconnected commands:\n");
		for (ptr = DISCONNECTED_SC; ptr; ptr = SCNEXT(ptr))
			pos += get_command(pos, ptr);
			get_command(m, ptr);
	} else
		SPRINTF("no disconnected commands\n");

	pos += get_ports(shpnt, pos);
	get_ports(m, shpnt);

#if defined(AHA152X_STAT)
	SPRINTF("statistics:\n"
@@ -3440,26 +3419,9 @@ static int aha152x_proc_info(struct Scsi_Host *shpnt, char *buffer, char **start
			HOSTDATA(shpnt)->time[i]);
	}
#endif

	DPRINTK(debug_procinfo, KERN_DEBUG "aha152x_proc_info: pos=%p\n", pos);

	thislength = pos - (buffer + offset);
	DPRINTK(debug_procinfo, KERN_DEBUG "aha152x_proc_info: length=%d thislength=%d\n", length, thislength);

	if(thislength<0) {
		DPRINTK(debug_procinfo, KERN_DEBUG "aha152x_proc_info: output too short\n");
		*start = NULL;
	return 0;
}

	thislength = thislength<length ? thislength : length;

	DPRINTK(debug_procinfo, KERN_DEBUG "aha152x_proc_info: return %d\n", thislength);

	*start = buffer + offset;
	return thislength < length ? thislength : length;
}

static int aha152x_adjust_queue(struct scsi_device *device)
{
	blk_queue_bounce_limit(device->request_queue, BLK_BOUNCE_HIGH);
@@ -3470,7 +3432,8 @@ static struct scsi_host_template aha152x_driver_template = {
	.module				= THIS_MODULE,
	.name				= AHA152X_REVID,
	.proc_name			= "aha152x",
	.proc_info			= aha152x_proc_info,
	.show_info			= aha152x_show_info,
	.write_info			= aha152x_set_info,
	.queuecommand			= aha152x_queue,
	.eh_abort_handler		= aha152x_abort,
	.eh_device_reset_handler	= aha152x_device_reset,