|
@@ -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,
|