diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-05-01 17:51:54 -0700 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-05-01 17:51:54 -0700 | 
| commit | 20b4fb485227404329e41ad15588afad3df23050 (patch) | |
| tree | f3e099f0ab3da8a93b447203e294d2bb22f6dc05 /drivers/message/fusion/mptscsih.c | |
| parent | b9394d8a657cd3c064fa432aa0905c1b58b38fe9 (diff) | |
| parent | ac3e3c5b1164397656df81b9e9ab4991184d3236 (diff) | |
| download | olio-linux-3.10-20b4fb485227404329e41ad15588afad3df23050.tar.xz olio-linux-3.10-20b4fb485227404329e41ad15588afad3df23050.zip  | |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull VFS updates from Al Viro,
Misc cleanups all over the place, mainly wrt /proc interfaces (switch
create_proc_entry to proc_create(), get rid of the deprecated
create_proc_read_entry() in favor of using proc_create_data() and
seq_file etc).
7kloc removed.
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (204 commits)
  don't bother with deferred freeing of fdtables
  proc: Move non-public stuff from linux/proc_fs.h to fs/proc/internal.h
  proc: Make the PROC_I() and PDE() macros internal to procfs
  proc: Supply a function to remove a proc entry by PDE
  take cgroup_open() and cpuset_open() to fs/proc/base.c
  ppc: Clean up scanlog
  ppc: Clean up rtas_flash driver somewhat
  hostap: proc: Use remove_proc_subtree()
  drm: proc: Use remove_proc_subtree()
  drm: proc: Use minor->index to label things, not PDE->name
  drm: Constify drm_proc_list[]
  zoran: Don't print proc_dir_entry data in debug
  reiserfs: Don't access the proc_dir_entry in r_open(), r_start() r_show()
  proc: Supply an accessor for getting the data from a PDE's parent
  airo: Use remove_proc_subtree()
  rtl8192u: Don't need to save device proc dir PDE
  rtl8187se: Use a dir under /proc/net/r8180/
  proc: Add proc_mkdir_data()
  proc: Move some bits from linux/proc_fs.h to linux/{of.h,signal.h,tty.h}
  proc: Move PDE_NET() to fs/proc/proc_net.c
  ...
Diffstat (limited to 'drivers/message/fusion/mptscsih.c')
| -rw-r--r-- | drivers/message/fusion/mptscsih.c | 98 | 
1 files changed, 7 insertions, 91 deletions
diff --git a/drivers/message/fusion/mptscsih.c b/drivers/message/fusion/mptscsih.c index 164afa71bba..727819cc703 100644 --- a/drivers/message/fusion/mptscsih.c +++ b/drivers/message/fusion/mptscsih.c @@ -1284,101 +1284,17 @@ mptscsih_info(struct Scsi_Host *SChost)  	return h->info_kbuf;  } -struct info_str { -	char *buffer; -	int   length; -	int   offset; -	int   pos; -}; - -static void -mptscsih_copy_mem_info(struct info_str *info, char *data, int len) -{ -	if (info->pos + len > info->length) -		len = info->length - info->pos; - -	if (info->pos + len < info->offset) { -		info->pos += len; -		return; -	} - -	if (info->pos < info->offset) { -	        data += (info->offset - info->pos); -	        len  -= (info->offset - info->pos); -	} - -	if (len > 0) { -                memcpy(info->buffer + info->pos, data, len); -                info->pos += len; -	} -} - -static int -mptscsih_copy_info(struct info_str *info, char *fmt, ...) -{ -	va_list args; -	char buf[81]; -	int len; - -	va_start(args, fmt); -	len = vsprintf(buf, fmt, args); -	va_end(args); - -	mptscsih_copy_mem_info(info, buf, len); -	return len; -} - -static int -mptscsih_host_info(MPT_ADAPTER *ioc, char *pbuf, off_t offset, int len) -{ -	struct info_str info; - -	info.buffer	= pbuf; -	info.length	= len; -	info.offset	= offset; -	info.pos	= 0; - -	mptscsih_copy_info(&info, "%s: %s, ", ioc->name, ioc->prod_name); -	mptscsih_copy_info(&info, "%s%08xh, ", MPT_FW_REV_MAGIC_ID_STRING, ioc->facts.FWVersion.Word); -	mptscsih_copy_info(&info, "Ports=%d, ", ioc->facts.NumberOfPorts); -	mptscsih_copy_info(&info, "MaxQ=%d\n", ioc->req_depth); - -	return ((info.pos > info.offset) ? info.pos - info.offset : 0); -} - -/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ -/** - *	mptscsih_proc_info - Return information about MPT adapter - * 	@host:   scsi host struct - * 	@buffer: if write, user data; if read, buffer for user - *	@start: returns the buffer address - * 	@offset: if write, 0; if read, the current offset into the buffer from - * 		 the previous read. - * 	@length: if write, return length; - *	@func:   write = 1; read = 0 - * - *	(linux scsi_host_template.info routine) - */ -int -mptscsih_proc_info(struct Scsi_Host *host, char *buffer, char **start, off_t offset, -			int length, int func) +int mptscsih_show_info(struct seq_file *m, struct Scsi_Host *host)  {  	MPT_SCSI_HOST	*hd = shost_priv(host);  	MPT_ADAPTER	*ioc = hd->ioc; -	int size = 0; -	if (func) { -		/* -		 * write is not supported -		 */ -	} else { -		if (start) -			*start = buffer; - -		size = mptscsih_host_info(ioc, buffer, offset, length); -	} +	seq_printf(m, "%s: %s, ", ioc->name, ioc->prod_name); +	seq_printf(m, "%s%08xh, ", MPT_FW_REV_MAGIC_ID_STRING, ioc->facts.FWVersion.Word); +	seq_printf(m, "Ports=%d, ", ioc->facts.NumberOfPorts); +	seq_printf(m, "MaxQ=%d\n", ioc->req_depth); -	return size; +	return 0;  }  /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ @@ -3348,7 +3264,7 @@ EXPORT_SYMBOL(mptscsih_shutdown);  EXPORT_SYMBOL(mptscsih_suspend);  EXPORT_SYMBOL(mptscsih_resume);  #endif -EXPORT_SYMBOL(mptscsih_proc_info); +EXPORT_SYMBOL(mptscsih_show_info);  EXPORT_SYMBOL(mptscsih_info);  EXPORT_SYMBOL(mptscsih_qcmd);  EXPORT_SYMBOL(mptscsih_slave_destroy);  |