Commit 8c986544 authored by Al Viro's avatar Al Viro

eata_pio: switch to ->show_info()

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent e633c1e5
...@@ -92,58 +92,22 @@ static unsigned long queue_counter; ...@@ -92,58 +92,22 @@ static unsigned long queue_counter;
static struct scsi_host_template driver_template; static struct scsi_host_template driver_template;
/* static int eata_pio_show_info(struct seq_file *m, struct Scsi_Host *shost)
* 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)
{ {
int len = 0; seq_printf(m, "EATA (Extended Attachment) PIO driver version: "
off_t begin = 0, pos = 0;
if (rw)
return -ENOSYS;
len += sprintf(buffer+len, "EATA (Extended Attachment) PIO driver version: "
"%d.%d%s\n",VER_MAJOR, VER_MINOR, VER_SUB); "%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); "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); 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); SD(shost)->revision);
len += sprintf(buffer + len, "IO: PIO\n"); seq_printf(m, "IO: PIO\n");
len += sprintf(buffer + len, "Base IO : %#.4x\n", (u32) shost->base); seq_printf(m, "Base IO : %#.4x\n", (u32) shost->base);
len += sprintf(buffer + len, "Host Bus: %s\n", seq_printf(m, "Host Bus: %s\n",
(SD(shost)->bustype == 'P')?"PCI ": (SD(shost)->bustype == 'P')?"PCI ":
(SD(shost)->bustype == 'E')?"EISA":"ISA "); (SD(shost)->bustype == 'E')?"EISA":"ISA ");
return 0;
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;
} }
static int eata_pio_release(struct Scsi_Host *sh) static int eata_pio_release(struct Scsi_Host *sh)
...@@ -985,7 +949,7 @@ static int eata_pio_detect(struct scsi_host_template *tpnt) ...@@ -985,7 +949,7 @@ static int eata_pio_detect(struct scsi_host_template *tpnt)
static struct scsi_host_template driver_template = { static struct scsi_host_template driver_template = {
.proc_name = "eata_pio", .proc_name = "eata_pio",
.name = "EATA (Extended Attachment) PIO driver", .name = "EATA (Extended Attachment) PIO driver",
.proc_info = eata_pio_proc_info, .show_info = eata_pio_show_info,
.detect = eata_pio_detect, .detect = eata_pio_detect,
.release = eata_pio_release, .release = eata_pio_release,
.queuecommand = eata_pio_queue, .queuecommand = eata_pio_queue,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment