|
@@ -229,26 +229,18 @@ void usb_stor_report_bus_reset(struct us_data *us)
|
|
|
|
|
|
/* 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)
|
|
|
|
|
|
-/*
|
|
|
- * proc_info()
|
|
|
- */
|
|
|
-static int proc_info(struct Scsi_Host *host, char *buffer, char **start,
|
|
|
- off_t offset, int length, int inout)
|
|
|
+static int write_info(struct Scsi_Host *host, char *buffer, int length)
|
|
|
+{
|
|
|
+ return length;
|
|
|
+}
|
|
|
+
|
|
|
+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;
|
|
|
|
|
|
- /* pr_info("scsiglue --- proc_info\n"); */
|
|
|
- if (inout)
|
|
|
- return length;
|
|
|
-
|
|
|
/* print the controller name */
|
|
|
SPRINTF(" Host scsi%d: usb-storage\n", host->host_no);
|
|
|
|
|
@@ -278,29 +270,17 @@ static int proc_info(struct Scsi_Host *host, char *buffer, char **start,
|
|
|
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) \
|
|
|
do { \
|
|
|
if (us->fflags & value) \
|
|
|
- pos += sprintf(pos, " " #name); \
|
|
|
+ SPRINTF(" " #name); \
|
|
|
} while (0);
|
|
|
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;
|
|
|
}
|
|
|
|
|
|
/***********************************************************************
|
|
@@ -351,7 +331,8 @@ struct scsi_host_template usb_stor_host_template = {
|
|
|
/* basic userland interface stuff */
|
|
|
.name = "eucr-storage",
|
|
|
.proc_name = "eucr-storage",
|
|
|
- .proc_info = proc_info,
|
|
|
+ .write_info = write_info,
|
|
|
+ .show_info = show_info,
|
|
|
.info = host_info,
|
|
|
|
|
|
/* command interface -- queued only */
|