diff options
Diffstat (limited to 'drivers/scsi/eata_pio.c')
| -rw-r--r-- | drivers/scsi/eata_pio.c | 56 | 
1 files changed, 10 insertions, 46 deletions
| diff --git a/drivers/scsi/eata_pio.c b/drivers/scsi/eata_pio.c index d5f8362335d..356def44ce5 100644 --- a/drivers/scsi/eata_pio.c +++ b/drivers/scsi/eata_pio.c @@ -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, |