kmem_cache_free(tcm_loop_cmd_cache, tl_cmd);
 }
 
-static int tcm_loop_proc_info(struct Scsi_Host *host, char *buffer,
-                               char **start, off_t offset,
-                               int length, int inout)
+static int tcm_loop_show_info(struct seq_file *m, struct Scsi_Host *host)
 {
-       return sprintf(buffer, "tcm_loop_proc_info()\n");
+       seq_printf(m, "tcm_loop_proc_info()\n");
+       return 0;
 }
 
 static int tcm_loop_driver_probe(struct device *);
 }
 
 static struct scsi_host_template tcm_loop_driver_template = {
-       .proc_info              = tcm_loop_proc_info,
+       .show_info              = tcm_loop_show_info,
        .proc_name              = "tcm_loopback",
        .name                   = "TCM_Loopback",
        .queuecommand           = tcm_loop_queuecommand,