diff options
Diffstat (limited to 'drivers/scsi/arm/powertec.c')
| -rw-r--r-- | drivers/scsi/arm/powertec.c | 41 | 
1 files changed, 15 insertions, 26 deletions
diff --git a/drivers/scsi/arm/powertec.c b/drivers/scsi/arm/powertec.c index e2297b4c1b9..5e1b73e1b74 100644 --- a/drivers/scsi/arm/powertec.c +++ b/drivers/scsi/arm/powertec.c @@ -232,37 +232,25 @@ powertecscsi_set_proc_info(struct Scsi_Host *host, char *buffer, int length)   * Params   : buffer  - a buffer to write information to   *	      start   - a pointer into this buffer set by this routine to the start   *		        of the required information. - *	      offset  - offset into information that we have read upto. + *	      offset  - offset into information that we have read up to.   *	      length  - length of buffer   *	      inout   - 0 for reading, 1 for writing.   * Returns  : length of data written to buffer.   */ -int powertecscsi_proc_info(struct Scsi_Host *host, char *buffer, char **start, off_t offset, -			    int length, int inout) +static int powertecscsi_show_info(struct seq_file *m, struct Scsi_Host *host)  {  	struct powertec_info *info; -	char *p = buffer; -	int pos; - -	if (inout == 1) -		return powertecscsi_set_proc_info(host, buffer, length);  	info = (struct powertec_info *)host->hostdata; -	p += sprintf(p, "PowerTec SCSI driver v%s\n", VERSION); -	p += fas216_print_host(&info->info, p); -	p += sprintf(p, "Term    : o%s\n", +	seq_printf(m, "PowerTec SCSI driver v%s\n", VERSION); +	fas216_print_host(&info->info, m); +	seq_printf(m, "Term    : o%s\n",  			info->term_ctl ? "n" : "ff"); -	p += fas216_print_stats(&info->info, p); -	p += fas216_print_devices(&info->info, p); - -	*start = buffer + offset; -	pos = p - buffer - offset; -	if (pos > length) -		pos = length; - -	return pos; +	fas216_print_stats(&info->info, m); +	fas216_print_devices(&info->info, m); +	return 0;  }  static ssize_t powertecscsi_show_term(struct device *dev, struct device_attribute *attr, char *buf) @@ -291,7 +279,8 @@ static DEVICE_ATTR(bus_term, S_IRUGO | S_IWUSR,  static struct scsi_host_template powertecscsi_template = {  	.module				= THIS_MODULE, -	.proc_info			= powertecscsi_proc_info, +	.show_info			= powertecscsi_show_info, +	.write_info			= powertecscsi_set_proc_info,  	.name				= "PowerTec SCSI",  	.info				= powertecscsi_info,  	.queuecommand			= fas216_queue_command, @@ -309,8 +298,8 @@ static struct scsi_host_template powertecscsi_template = {  	.proc_name			= "powertec",  }; -static int __devinit -powertecscsi_probe(struct expansion_card *ec, const struct ecard_id *id) +static int powertecscsi_probe(struct expansion_card *ec, +			      const struct ecard_id *id)  {  	struct Scsi_Host *host;  	struct powertec_info *info; @@ -369,7 +358,7 @@ powertecscsi_probe(struct expansion_card *ec, const struct ecard_id *id)  		goto out_free;  	ret = request_irq(ec->irq, powertecscsi_intr, -			  IRQF_DISABLED, "powertec", info); +			  0, "powertec", info);  	if (ret) {  		printk("scsi%d: IRQ%d not free: %d\n",  		       host->host_no, ec->irq, ret); @@ -409,7 +398,7 @@ powertecscsi_probe(struct expansion_card *ec, const struct ecard_id *id)  	return ret;  } -static void __devexit powertecscsi_remove(struct expansion_card *ec) +static void powertecscsi_remove(struct expansion_card *ec)  {  	struct Scsi_Host *host = ecard_get_drvdata(ec);  	struct powertec_info *info = (struct powertec_info *)host->hostdata; @@ -435,7 +424,7 @@ static const struct ecard_id powertecscsi_cids[] = {  static struct ecard_driver powertecscsi_driver = {  	.probe		= powertecscsi_probe, -	.remove		= __devexit_p(powertecscsi_remove), +	.remove		= powertecscsi_remove,  	.id_table	= powertecscsi_cids,  	.drv = {  		.name		= "powertecscsi",  | 
