keucr: switch to ->show_info()
authorAl Viro <viro@zeniv.linux.org.uk>
Sun, 31 Mar 2013 06:08:31 +0000 (02:08 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Tue, 9 Apr 2013 18:13:20 +0000 (14:13 -0400)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
drivers/staging/keucr/scsiglue.c

index 083b20e..48e1005 100644 (file)
@@ -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 */