fas216: switch to ->show_info()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Родитель
6b3a8bbfd1
Коммит
9d4e5c54a3
|
@ -220,47 +220,21 @@ static const char *arxescsi_info(struct Scsi_Host *host)
|
|||
return string;
|
||||
}
|
||||
|
||||
/*
|
||||
* Function: int arxescsi_proc_info(char *buffer, char **start, off_t offset,
|
||||
* int length, int host_no, int inout)
|
||||
* Purpose : Return information about the driver to a user process accessing
|
||||
* the /proc filesystem.
|
||||
* Params : buffer - a buffer to write information to
|
||||
* start - a pointer into this buffer set by this routine to the start
|
||||
* of the required information.
|
||||
* offset - offset into information that we have read up to.
|
||||
* length - length of buffer
|
||||
* host_no - host number to return information for
|
||||
* inout - 0 for reading, 1 for writing.
|
||||
* Returns : length of data written to buffer.
|
||||
*/
|
||||
static int
|
||||
arxescsi_proc_info(struct Scsi_Host *host, char *buffer, char **start, off_t offset, int length,
|
||||
int inout)
|
||||
arxescsi_show_info(struct seq_file *m, struct Scsi_Host *host)
|
||||
{
|
||||
struct arxescsi_info *info;
|
||||
char *p = buffer;
|
||||
int pos;
|
||||
|
||||
info = (struct arxescsi_info *)host->hostdata;
|
||||
if (inout == 1)
|
||||
return -EINVAL;
|
||||
|
||||
p += sprintf(p, "ARXE 16-bit SCSI driver v%s\n", VERSION);
|
||||
p += fas216_print_host(&info->info, p);
|
||||
p += fas216_print_stats(&info->info, p);
|
||||
p += fas216_print_devices(&info->info, p);
|
||||
|
||||
*start = buffer + offset;
|
||||
pos = p - buffer - offset;
|
||||
if (pos > length)
|
||||
pos = length;
|
||||
|
||||
return pos;
|
||||
seq_printf(m, "ARXE 16-bit SCSI driver v%s\n", VERSION);
|
||||
fas216_print_host(&info->info, m);
|
||||
fas216_print_stats(&info->info, m);
|
||||
fas216_print_devices(&info->info, m);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct scsi_host_template arxescsi_template = {
|
||||
.proc_info = arxescsi_proc_info,
|
||||
.show_info = arxescsi_show_info,
|
||||
.name = "ARXE SCSI card",
|
||||
.info = arxescsi_info,
|
||||
.queuecommand = fas216_noqueue_command,
|
||||
|
|
|
@ -337,50 +337,25 @@ cumanascsi_2_set_proc_info(struct Scsi_Host *host, char *buffer, int length)
|
|||
return ret;
|
||||
}
|
||||
|
||||
/* Prototype: int cumanascsi_2_proc_info(char *buffer, char **start, off_t offset,
|
||||
* int length, int host_no, int inout)
|
||||
* Purpose : Return information about the driver to a user process accessing
|
||||
* the /proc filesystem.
|
||||
* Params : buffer - a buffer to write information to
|
||||
* start - a pointer into this buffer set by this routine to the start
|
||||
* of the required information.
|
||||
* offset - offset into information that we have read up to.
|
||||
* length - length of buffer
|
||||
* host_no - host number to return information for
|
||||
* inout - 0 for reading, 1 for writing.
|
||||
* Returns : length of data written to buffer.
|
||||
*/
|
||||
int cumanascsi_2_proc_info (struct Scsi_Host *host, char *buffer, char **start, off_t offset,
|
||||
int length, int inout)
|
||||
static int cumanascsi_2_show_info(struct seq_file *m, struct Scsi_Host *host)
|
||||
{
|
||||
struct cumanascsi2_info *info;
|
||||
char *p = buffer;
|
||||
int pos;
|
||||
|
||||
if (inout == 1)
|
||||
return cumanascsi_2_set_proc_info(host, buffer, length);
|
||||
|
||||
info = (struct cumanascsi2_info *)host->hostdata;
|
||||
|
||||
p += sprintf(p, "Cumana SCSI II driver v%s\n", VERSION);
|
||||
p += fas216_print_host(&info->info, p);
|
||||
p += sprintf(p, "Term : o%s\n",
|
||||
seq_printf(m, "Cumana SCSI II driver v%s\n", VERSION);
|
||||
fas216_print_host(&info->info, m);
|
||||
seq_printf(m, "Term : o%s\n",
|
||||
info->terms ? "n" : "ff");
|
||||
|
||||
p += fas216_print_stats(&info->info, p);
|
||||
p += fas216_print_devices(&info->info, p);
|
||||
|
||||
*start = buffer + offset;
|
||||
pos = p - buffer - offset;
|
||||
if (pos > length)
|
||||
pos = length;
|
||||
|
||||
return pos;
|
||||
fas216_print_stats(&info->info, m);
|
||||
fas216_print_devices(&info->info, m);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct scsi_host_template cumanascsi2_template = {
|
||||
.module = THIS_MODULE,
|
||||
.proc_info = cumanascsi_2_proc_info,
|
||||
.show_info = cumanascsi_2_show_info,
|
||||
.write_info = cumanascsi_2_set_proc_info,
|
||||
.name = "Cumana SCSI II",
|
||||
.info = cumanascsi_2_info,
|
||||
.queuecommand = fas216_queue_command,
|
||||
|
|
|
@ -422,45 +422,20 @@ eesoxscsi_set_proc_info(struct Scsi_Host *host, char *buffer, int length)
|
|||
return ret;
|
||||
}
|
||||
|
||||
/* Prototype: int eesoxscsi_proc_info(char *buffer, char **start, off_t offset,
|
||||
* int length, int host_no, int inout)
|
||||
* Purpose : Return information about the driver to a user process accessing
|
||||
* the /proc filesystem.
|
||||
* Params : buffer - a buffer to write information to
|
||||
* start - a pointer into this buffer set by this routine to the start
|
||||
* of the required information.
|
||||
* offset - offset into information that we have read up to.
|
||||
* length - length of buffer
|
||||
* host_no - host number to return information for
|
||||
* inout - 0 for reading, 1 for writing.
|
||||
* Returns : length of data written to buffer.
|
||||
*/
|
||||
int eesoxscsi_proc_info(struct Scsi_Host *host, char *buffer, char **start, off_t offset,
|
||||
int length, int inout)
|
||||
static int eesoxscsi_show_info(struct seq_file *m, struct Scsi_Host *host)
|
||||
{
|
||||
struct eesoxscsi_info *info;
|
||||
char *p = buffer;
|
||||
int pos;
|
||||
|
||||
if (inout == 1)
|
||||
return eesoxscsi_set_proc_info(host, buffer, length);
|
||||
|
||||
info = (struct eesoxscsi_info *)host->hostdata;
|
||||
|
||||
p += sprintf(p, "EESOX SCSI driver v%s\n", VERSION);
|
||||
p += fas216_print_host(&info->info, p);
|
||||
p += sprintf(p, "Term : o%s\n",
|
||||
seq_printf(m, "EESOX SCSI driver v%s\n", VERSION);
|
||||
fas216_print_host(&info->info, m);
|
||||
seq_printf(m, "Term : o%s\n",
|
||||
info->control & EESOX_TERM_ENABLE ? "n" : "ff");
|
||||
|
||||
p += fas216_print_stats(&info->info, p);
|
||||
p += fas216_print_devices(&info->info, p);
|
||||
|
||||
*start = buffer + offset;
|
||||
pos = p - buffer - offset;
|
||||
if (pos > length)
|
||||
pos = length;
|
||||
|
||||
return pos;
|
||||
fas216_print_stats(&info->info, m);
|
||||
fas216_print_devices(&info->info, m);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static ssize_t eesoxscsi_show_term(struct device *dev, struct device_attribute *attr, char *buf)
|
||||
|
@ -498,7 +473,8 @@ static DEVICE_ATTR(bus_term, S_IRUGO | S_IWUSR,
|
|||
|
||||
static struct scsi_host_template eesox_template = {
|
||||
.module = THIS_MODULE,
|
||||
.proc_info = eesoxscsi_proc_info,
|
||||
.show_info = eesoxscsi_show_info,
|
||||
.write_info = eesoxscsi_set_proc_info,
|
||||
.name = "EESOX SCSI",
|
||||
.info = eesoxscsi_info,
|
||||
.queuecommand = fas216_queue_command,
|
||||
|
|
|
@ -2958,9 +2958,9 @@ void fas216_release(struct Scsi_Host *host)
|
|||
queue_free(&info->queues.issue);
|
||||
}
|
||||
|
||||
int fas216_print_host(FAS216_Info *info, char *buffer)
|
||||
void fas216_print_host(FAS216_Info *info, struct seq_file *m)
|
||||
{
|
||||
return sprintf(buffer,
|
||||
seq_printf(m,
|
||||
"\n"
|
||||
"Chip : %s\n"
|
||||
" Address: 0x%p\n"
|
||||
|
@ -2970,11 +2970,9 @@ int fas216_print_host(FAS216_Info *info, char *buffer)
|
|||
info->scsi.irq, info->scsi.dma);
|
||||
}
|
||||
|
||||
int fas216_print_stats(FAS216_Info *info, char *buffer)
|
||||
void fas216_print_stats(FAS216_Info *info, struct seq_file *m)
|
||||
{
|
||||
char *p = buffer;
|
||||
|
||||
p += sprintf(p, "\n"
|
||||
seq_printf(m, "\n"
|
||||
"Command Statistics:\n"
|
||||
" Queued : %u\n"
|
||||
" Issued : %u\n"
|
||||
|
@ -2991,38 +2989,33 @@ int fas216_print_stats(FAS216_Info *info, char *buffer)
|
|||
info->stats.writes, info->stats.miscs,
|
||||
info->stats.disconnects, info->stats.aborts,
|
||||
info->stats.bus_resets, info->stats.host_resets);
|
||||
|
||||
return p - buffer;
|
||||
}
|
||||
|
||||
int fas216_print_devices(FAS216_Info *info, char *buffer)
|
||||
void fas216_print_devices(FAS216_Info *info, struct seq_file *m)
|
||||
{
|
||||
struct fas216_device *dev;
|
||||
struct scsi_device *scd;
|
||||
char *p = buffer;
|
||||
|
||||
p += sprintf(p, "Device/Lun TaggedQ Parity Sync\n");
|
||||
seq_printf(m, "Device/Lun TaggedQ Parity Sync\n");
|
||||
|
||||
shost_for_each_device(scd, info->host) {
|
||||
dev = &info->device[scd->id];
|
||||
p += sprintf(p, " %d/%d ", scd->id, scd->lun);
|
||||
seq_printf(m, " %d/%d ", scd->id, scd->lun);
|
||||
if (scd->tagged_supported)
|
||||
p += sprintf(p, "%3sabled(%3d) ",
|
||||
seq_printf(m, "%3sabled(%3d) ",
|
||||
scd->simple_tags ? "en" : "dis",
|
||||
scd->current_tag);
|
||||
else
|
||||
p += sprintf(p, "unsupported ");
|
||||
seq_printf(m, "unsupported ");
|
||||
|
||||
p += sprintf(p, "%3sabled ", dev->parity_enabled ? "en" : "dis");
|
||||
seq_printf(m, "%3sabled ", dev->parity_enabled ? "en" : "dis");
|
||||
|
||||
if (dev->sof)
|
||||
p += sprintf(p, "offset %d, %d ns\n",
|
||||
seq_printf(m, "offset %d, %d ns\n",
|
||||
dev->sof, dev->period * 4);
|
||||
else
|
||||
p += sprintf(p, "async\n");
|
||||
seq_printf(m, "async\n");
|
||||
}
|
||||
|
||||
return p - buffer;
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL(fas216_init);
|
||||
|
|
|
@ -358,9 +358,9 @@ extern void fas216_remove (struct Scsi_Host *instance);
|
|||
*/
|
||||
extern void fas216_release (struct Scsi_Host *instance);
|
||||
|
||||
extern int fas216_print_host(FAS216_Info *info, char *buffer);
|
||||
extern int fas216_print_stats(FAS216_Info *info, char *buffer);
|
||||
extern int fas216_print_devices(FAS216_Info *info, char *buffer);
|
||||
extern void fas216_print_host(FAS216_Info *info, struct seq_file *m);
|
||||
extern void fas216_print_stats(FAS216_Info *info, struct seq_file *m);
|
||||
extern void fas216_print_devices(FAS216_Info *info, struct seq_file *m);
|
||||
|
||||
/* Function: int fas216_eh_abort(struct scsi_cmnd *SCpnt)
|
||||
* Purpose : abort this command
|
||||
|
|
|
@ -237,32 +237,20 @@ powertecscsi_set_proc_info(struct Scsi_Host *host, char *buffer, int length)
|
|||
* inout - 0 for reading, 1 for writing.
|
||||
* Returns : length of data written to buffer.
|
||||
*/
|
||||
int powertecscsi_proc_info(struct Scsi_Host *host, char *buffer, char **start, off_t offset,
|
||||
int length, int inout)
|
||||
static int powertecscsi_show_info(struct seq_file *m, struct Scsi_Host *host)
|
||||
{
|
||||
struct powertec_info *info;
|
||||
char *p = buffer;
|
||||
int pos;
|
||||
|
||||
if (inout == 1)
|
||||
return powertecscsi_set_proc_info(host, buffer, length);
|
||||
|
||||
info = (struct powertec_info *)host->hostdata;
|
||||
|
||||
p += sprintf(p, "PowerTec SCSI driver v%s\n", VERSION);
|
||||
p += fas216_print_host(&info->info, p);
|
||||
p += sprintf(p, "Term : o%s\n",
|
||||
seq_printf(m, "PowerTec SCSI driver v%s\n", VERSION);
|
||||
fas216_print_host(&info->info, m);
|
||||
seq_printf(m, "Term : o%s\n",
|
||||
info->term_ctl ? "n" : "ff");
|
||||
|
||||
p += fas216_print_stats(&info->info, p);
|
||||
p += fas216_print_devices(&info->info, p);
|
||||
|
||||
*start = buffer + offset;
|
||||
pos = p - buffer - offset;
|
||||
if (pos > length)
|
||||
pos = length;
|
||||
|
||||
return pos;
|
||||
fas216_print_stats(&info->info, m);
|
||||
fas216_print_devices(&info->info, m);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static ssize_t powertecscsi_show_term(struct device *dev, struct device_attribute *attr, char *buf)
|
||||
|
@ -291,7 +279,8 @@ static DEVICE_ATTR(bus_term, S_IRUGO | S_IWUSR,
|
|||
|
||||
static struct scsi_host_template powertecscsi_template = {
|
||||
.module = THIS_MODULE,
|
||||
.proc_info = powertecscsi_proc_info,
|
||||
.show_info = powertecscsi_show_info,
|
||||
.write_info = powertecscsi_set_proc_info,
|
||||
.name = "PowerTec SCSI",
|
||||
.info = powertecscsi_info,
|
||||
.queuecommand = fas216_queue_command,
|
||||
|
|
Загрузка…
Ссылка в новой задаче