eata_pio: switch to ->show_info()
authorAl Viro <viro@zeniv.linux.org.uk>
Sun, 31 Mar 2013 07:18:35 +0000 (03:18 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Tue, 9 Apr 2013 18:13:23 +0000 (14:13 -0400)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
drivers/scsi/eata_pio.c

index d5f8362..356def4 100644 (file)
@@ -92,58 +92,22 @@ static unsigned long queue_counter;
 
 static struct scsi_host_template driver_template;
 
-/*
- * eata_proc_info
- * inout : decides on the direction of the dataflow and the meaning of the 
- *         variables
- * buffer: If inout==FALSE data is being written to it else read from it
- * *start: If inout==FALSE start of the valid data in the buffer
- * offset: If inout==FALSE offset from the beginning of the imaginary file 
- *         from which we start writing into the buffer
- * length: If inout==FALSE max number of bytes to be written into the buffer 
- *         else number of bytes in the buffer
- */
-static int eata_pio_proc_info(struct Scsi_Host *shost, char *buffer, char **start, off_t offset,
-                             int length, int rw)
+static int eata_pio_show_info(struct seq_file *m, struct Scsi_Host *shost)
 {
-       int len = 0;
-       off_t begin = 0, pos = 0;
-
-       if (rw)
-               return -ENOSYS;
-
-       len += sprintf(buffer+len, "EATA (Extended Attachment) PIO driver version: "
+       seq_printf(m, "EATA (Extended Attachment) PIO driver version: "
                   "%d.%d%s\n",VER_MAJOR, VER_MINOR, VER_SUB);
-       len += sprintf(buffer + len, "queued commands:     %10ld\n"
+       seq_printf(m, "queued commands:     %10ld\n"
                   "processed interrupts:%10ld\n", queue_counter, int_counter);
-       len += sprintf(buffer + len, "\nscsi%-2d: HBA %.10s\n",
+       seq_printf(m, "\nscsi%-2d: HBA %.10s\n",
                   shost->host_no, SD(shost)->name);
-       len += sprintf(buffer + len, "Firmware revision: v%s\n",
+       seq_printf(m, "Firmware revision: v%s\n",
                   SD(shost)->revision);
-       len += sprintf(buffer + len, "IO: PIO\n");
-       len += sprintf(buffer + len, "Base IO : %#.4x\n", (u32) shost->base);
-       len += sprintf(buffer + len, "Host Bus: %s\n",
+       seq_printf(m, "IO: PIO\n");
+       seq_printf(m, "Base IO : %#.4x\n", (u32) shost->base);
+       seq_printf(m, "Host Bus: %s\n",
                   (SD(shost)->bustype == 'P')?"PCI ":
                   (SD(shost)->bustype == 'E')?"EISA":"ISA ");
-    
-       pos = begin + len;
-    
-       if (pos < offset) {
-               len = 0;
-               begin = pos;
-       }
-       if (pos > offset + length)
-               goto stop_output;
-    
-stop_output:
-       DBG(DBG_PROC, printk("2pos: %ld offset: %ld len: %d\n", pos, offset, len));
-       *start = buffer + (offset - begin);   /* Start of wanted data */
-       len -= (offset - begin);            /* Start slop */
-       if (len > length)
-               len = length;               /* Ending slop */
-       DBG(DBG_PROC, printk("3pos: %ld offset: %ld len: %d\n", pos, offset, len));
-    
-       return len;
+       return 0;
 }
 
 static int eata_pio_release(struct Scsi_Host *sh)
@@ -985,7 +949,7 @@ static int eata_pio_detect(struct scsi_host_template *tpnt)
 static struct scsi_host_template driver_template = {
        .proc_name              = "eata_pio",
        .name                   = "EATA (Extended Attachment) PIO driver",
-       .proc_info              = eata_pio_proc_info,
+       .show_info              = eata_pio_show_info,
        .detect                 = eata_pio_detect,
        .release                = eata_pio_release,
        .queuecommand           = eata_pio_queue,