fusion: switch to ->show_info()
authorAl Viro <viro@zeniv.linux.org.uk>
Sun, 31 Mar 2013 05:42:38 +0000 (01:42 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Tue, 9 Apr 2013 18:13:18 +0000 (14:13 -0400)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
drivers/message/fusion/mptfc.c
drivers/message/fusion/mptsas.c
drivers/message/fusion/mptscsih.c
drivers/message/fusion/mptscsih.h
drivers/message/fusion/mptspi.c

index c13cd9b..fd75108 100644 (file)
@@ -109,7 +109,7 @@ static int mptfc_host_reset(struct scsi_cmnd *SCpnt);
 static struct scsi_host_template mptfc_driver_template = {
        .module                         = THIS_MODULE,
        .proc_name                      = "mptfc",
-       .proc_info                      = mptscsih_proc_info,
+       .show_info                      = mptscsih_show_info,
        .name                           = "MPT FC Host",
        .info                           = mptscsih_info,
        .queuecommand                   = mptfc_qcmd,
index fa43c39..ffee6f7 100644 (file)
@@ -1977,7 +1977,7 @@ done:
 static struct scsi_host_template mptsas_driver_template = {
        .module                         = THIS_MODULE,
        .proc_name                      = "mptsas",
-       .proc_info                      = mptscsih_proc_info,
+       .show_info                      = mptscsih_show_info,
        .name                           = "MPT SAS Host",
        .info                           = mptscsih_info,
        .queuecommand                   = mptsas_qcmd,
index 164afa7..727819c 100644 (file)
@@ -1284,101 +1284,17 @@ mptscsih_info(struct Scsi_Host *SChost)
        return h->info_kbuf;
 }
 
-struct info_str {
-       char *buffer;
-       int   length;
-       int   offset;
-       int   pos;
-};
-
-static void
-mptscsih_copy_mem_info(struct info_str *info, char *data, int len)
-{
-       if (info->pos + len > info->length)
-               len = info->length - info->pos;
-
-       if (info->pos + len < info->offset) {
-               info->pos += len;
-               return;
-       }
-
-       if (info->pos < info->offset) {
-               data += (info->offset - info->pos);
-               len  -= (info->offset - info->pos);
-       }
-
-       if (len > 0) {
-                memcpy(info->buffer + info->pos, data, len);
-                info->pos += len;
-       }
-}
-
-static int
-mptscsih_copy_info(struct info_str *info, char *fmt, ...)
-{
-       va_list args;
-       char buf[81];
-       int len;
-
-       va_start(args, fmt);
-       len = vsprintf(buf, fmt, args);
-       va_end(args);
-
-       mptscsih_copy_mem_info(info, buf, len);
-       return len;
-}
-
-static int
-mptscsih_host_info(MPT_ADAPTER *ioc, char *pbuf, off_t offset, int len)
-{
-       struct info_str info;
-
-       info.buffer     = pbuf;
-       info.length     = len;
-       info.offset     = offset;
-       info.pos        = 0;
-
-       mptscsih_copy_info(&info, "%s: %s, ", ioc->name, ioc->prod_name);
-       mptscsih_copy_info(&info, "%s%08xh, ", MPT_FW_REV_MAGIC_ID_STRING, ioc->facts.FWVersion.Word);
-       mptscsih_copy_info(&info, "Ports=%d, ", ioc->facts.NumberOfPorts);
-       mptscsih_copy_info(&info, "MaxQ=%d\n", ioc->req_depth);
-
-       return ((info.pos > info.offset) ? info.pos - info.offset : 0);
-}
-
-/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
-/**
- *     mptscsih_proc_info - Return information about MPT adapter
- *     @host:   scsi host struct
- *     @buffer: if write, user data; if read, buffer for user
- *     @start: returns the buffer address
- *     @offset: if write, 0; if read, the current offset into the buffer from
- *              the previous read.
- *     @length: if write, return length;
- *     @func:   write = 1; read = 0
- *
- *     (linux scsi_host_template.info routine)
- */
-int
-mptscsih_proc_info(struct Scsi_Host *host, char *buffer, char **start, off_t offset,
-                       int length, int func)
+int mptscsih_show_info(struct seq_file *m, struct Scsi_Host *host)
 {
        MPT_SCSI_HOST   *hd = shost_priv(host);
        MPT_ADAPTER     *ioc = hd->ioc;
-       int size = 0;
 
-       if (func) {
-               /*
-                * write is not supported
-                */
-       } else {
-               if (start)
-                       *start = buffer;
-
-               size = mptscsih_host_info(ioc, buffer, offset, length);
-       }
+       seq_printf(m, "%s: %s, ", ioc->name, ioc->prod_name);
+       seq_printf(m, "%s%08xh, ", MPT_FW_REV_MAGIC_ID_STRING, ioc->facts.FWVersion.Word);
+       seq_printf(m, "Ports=%d, ", ioc->facts.NumberOfPorts);
+       seq_printf(m, "MaxQ=%d\n", ioc->req_depth);
 
-       return size;
+       return 0;
 }
 
 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
@@ -3348,7 +3264,7 @@ EXPORT_SYMBOL(mptscsih_shutdown);
 EXPORT_SYMBOL(mptscsih_suspend);
 EXPORT_SYMBOL(mptscsih_resume);
 #endif
-EXPORT_SYMBOL(mptscsih_proc_info);
+EXPORT_SYMBOL(mptscsih_show_info);
 EXPORT_SYMBOL(mptscsih_info);
 EXPORT_SYMBOL(mptscsih_qcmd);
 EXPORT_SYMBOL(mptscsih_slave_destroy);
index 43e75ff..83f5031 100644 (file)
@@ -111,7 +111,7 @@ extern void mptscsih_shutdown(struct pci_dev *);
 extern int mptscsih_suspend(struct pci_dev *pdev, pm_message_t state);
 extern int mptscsih_resume(struct pci_dev *pdev);
 #endif
-extern int mptscsih_proc_info(struct Scsi_Host *host, char *buffer, char **start, off_t offset, int length, int func);
+extern int mptscsih_show_info(struct seq_file *, struct Scsi_Host *);
 extern const char * mptscsih_info(struct Scsi_Host *SChost);
 extern int mptscsih_qcmd(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd *));
 extern int mptscsih_IssueTaskMgmt(MPT_SCSI_HOST *hd, u8 type, u8 channel,
index c3aabde..5653e50 100644 (file)
@@ -831,7 +831,7 @@ static void mptspi_slave_destroy(struct scsi_device *sdev)
 static struct scsi_host_template mptspi_driver_template = {
        .module                         = THIS_MODULE,
        .proc_name                      = "mptspi",
-       .proc_info                      = mptscsih_proc_info,
+       .show_info                      = mptscsih_show_info,
        .name                           = "MPT SPI Host",
        .info                           = mptscsih_info,
        .queuecommand                   = mptspi_qcmd,