imm: switch to ->show_info()
authorAl Viro <viro@zeniv.linux.org.uk>
Sun, 31 Mar 2013 04:55:40 +0000 (00:55 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Tue, 9 Apr 2013 18:13:16 +0000 (14:13 -0400)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
drivers/scsi/imm.c

index 26cd9d1d7571b1674b5c6967c321b4abcc1dc531..89a8266560d0ebc2ecf44bb33f136b8cebb64ae9 100644 (file)
@@ -121,45 +121,26 @@ static inline void imm_pb_release(imm_struct *dev)
  * testing...
  * Also gives a method to use a script to obtain optimum timings (TODO)
  */
-static inline int imm_proc_write(imm_struct *dev, char *buffer, int length)
+static int imm_write_info(struct Scsi_Host *host, char *buffer, int length)
 {
-       unsigned long x;
+       imm_struct *dev = imm_dev(host);
 
        if ((length > 5) && (strncmp(buffer, "mode=", 5) == 0)) {
-               x = simple_strtoul(buffer + 5, NULL, 0);
-               dev->mode = x;
+               dev->mode = simple_strtoul(buffer + 5, NULL, 0);
                return length;
        }
        printk("imm /proc: invalid variable\n");
-       return (-EINVAL);
+       return -EINVAL;
 }
 
-static int imm_proc_info(struct Scsi_Host *host, char *buffer, char **start,
-                       off_t offset, int length, int inout)
+static int imm_show_info(struct seq_file *m, struct Scsi_Host *host)
 {
        imm_struct *dev = imm_dev(host);
-       int len = 0;
-
-       if (inout)
-               return imm_proc_write(dev, buffer, length);
-
-       len += sprintf(buffer + len, "Version : %s\n", IMM_VERSION);
-       len +=
-           sprintf(buffer + len, "Parport : %s\n",
-                   dev->dev->port->name);
-       len +=
-           sprintf(buffer + len, "Mode    : %s\n",
-                   IMM_MODE_STRING[dev->mode]);
 
-       /* Request for beyond end of buffer */
-       if (offset > len)
-               return 0;
-
-       *start = buffer + offset;
-       len -= offset;
-       if (len > length)
-               len = length;
-       return len;
+       seq_printf(m, "Version : %s\n", IMM_VERSION);
+       seq_printf(m, "Parport : %s\n", dev->dev->port->name);
+       seq_printf(m, "Mode    : %s\n", IMM_MODE_STRING[dev->mode]);
+       return 0;
 }
 
 #if IMM_DEBUG > 0
@@ -1118,7 +1099,8 @@ static int imm_adjust_queue(struct scsi_device *device)
 static struct scsi_host_template imm_template = {
        .module                 = THIS_MODULE,
        .proc_name              = "imm",
-       .proc_info              = imm_proc_info,
+       .show_info              = imm_show_info,
+       .write_info             = imm_write_info,
        .name                   = "Iomega VPI2 (imm) interface",
        .queuecommand           = imm_queuecommand,
        .eh_abort_handler       = imm_abort,