usb-storage: switch to ->show_info()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro 2013-03-31 01:37:13 -04:00
parent dd7ab71bb3
commit 09dae7fc57
1 changed files with 14 additions and 28 deletions

View File

@ -438,22 +438,21 @@ void usb_stor_report_bus_reset(struct us_data *us)
* /proc/scsi/ functions
***********************************************************************/
static int write_info(struct Scsi_Host *host, char *buffer, int length)
{
/* if someone is sending us data, just throw it away */
return length;
}
/* we use this macro to help us write into the buffer */
#undef SPRINTF
#define SPRINTF(args...) \
do { if (pos < buffer+length) pos += sprintf(pos, ## args); } while (0)
#define SPRINTF(args...) seq_printf(m, ## args)
static int proc_info (struct Scsi_Host *host, char *buffer,
char **start, off_t offset, int length, int inout)
static int show_info (struct seq_file *m, struct Scsi_Host *host)
{
struct us_data *us = host_to_us(host);
char *pos = buffer;
const char *string;
/* if someone is sending us data, just throw it away */
if (inout)
return length;
/* print the controller name */
SPRINTF(" Host scsi%d: usb-storage\n", host->host_no);
@ -483,28 +482,14 @@ static int proc_info (struct Scsi_Host *host, char *buffer,
SPRINTF(" Transport: %s\n", us->transport_name);
/* show the device flags */
if (pos < buffer + length) {
pos += sprintf(pos, " Quirks:");
SPRINTF(" Quirks:");
#define US_FLAG(name, value) \
if (us->fflags & value) pos += sprintf(pos, " " #name);
if (us->fflags & value) seq_printf(m, " " #name);
US_DO_ALL_FLAGS
#undef US_FLAG
*(pos++) = '\n';
}
/*
* Calculate start of next buffer, and return value.
*/
*start = buffer + offset;
if ((pos - buffer) < offset)
return (0);
else if ((pos - buffer - offset) < length)
return (pos - buffer - offset);
else
return (length);
seq_putc(m, '\n');
return 0;
}
/***********************************************************************
@ -549,7 +534,8 @@ struct scsi_host_template usb_stor_host_template = {
/* basic userland interface stuff */
.name = "usb-storage",
.proc_name = "usb-storage",
.proc_info = proc_info,
.show_info = show_info,
.write_info = write_info,
.info = host_info,
/* command interface -- queued only */