diff mbox

[1/2] iwlwifi: convert hex_dump_to_buffer() to %*ph

Message ID 1437050535-22858-1-git-send-email-andriy.shevchenko@linux.intel.com (mailing list archive)
State Accepted
Delegated to: Johannes Berg
Headers show

Commit Message

Andy Shevchenko July 16, 2015, 12:42 p.m. UTC
There is no need to use hex_dump_to_buffer() in the cases like this:

	hexdump_to_buffer(buf, len, 16, 1, outbuf, outlen, false);	/* len <= 16 */
	sprintf("%s\n", outbuf);

since it maybe easily converted to simple:

	sprintf("%*ph\n", len, buf);

Note: it seems in one case the output is groupped by 2 bytes and looks like a
typo. Thus, patch changes that to plain byte stream.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/net/wireless/iwlwifi/dvm/debugfs.c | 8 ++------
 drivers/net/wireless/iwlwifi/mvm/debugfs.c | 7 +------
 2 files changed, 3 insertions(+), 12 deletions(-)

Comments

Andy Shevchenko Aug. 4, 2015, 10:47 a.m. UTC | #1
On Thu, 2015-07-16 at 15:42 +0300, Andy Shevchenko wrote:
> There is no need to use hex_dump_to_buffer() in the cases like this:
> 
> 	hexdump_to_buffer(buf, len, 16, 1, outbuf, outlen, false);	> /* len <= 16 
> */
> 	sprintf("%s\n", outbuf);
> 
> since it maybe easily converted to simple:
> 
> 	sprintf("%*ph\n", len, buf);
> 
> Note: it seems in one case the output is groupped by 2 bytes and 
> looks like a
> typo. Thus, patch changes that to plain byte stream.


Any comments on this, anyone?

The idea is to minimize usage of hexdump_to_buffer(), i.e. not using it
when it's an obvious overkill.

> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
>  drivers/net/wireless/iwlwifi/dvm/debugfs.c | 8 ++------
>  drivers/net/wireless/iwlwifi/mvm/debugfs.c | 7 +------
>  2 files changed, 3 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/net/wireless/iwlwifi/dvm/debugfs.c 
> b/drivers/net/wireless/iwlwifi/dvm/debugfs.c
> index 0ffb6ff..b15e44f 100644
> --- a/drivers/net/wireless/iwlwifi/dvm/debugfs.c
> +++ b/drivers/net/wireless/iwlwifi/dvm/debugfs.c
> @@ -310,12 +310,8 @@ static ssize_t iwl_dbgfs_nvm_read(struct file 
> *file,
>  	pos += scnprintf(buf + pos, buf_size - pos,
>  			 "NVM version: 0x%x\n", nvm_ver);
>  	for (ofs = 0 ; ofs < eeprom_len ; ofs += 16) {
> -		pos += scnprintf(buf + pos, buf_size - pos, "0x%.4x 
> ", ofs);
> -		hex_dump_to_buffer(ptr + ofs, 16 , 16, 2, buf + pos,
> -				   buf_size - pos, 0);
> -		pos += strlen(buf + pos);
> -		if (buf_size - pos > 0)
> -			buf[pos++] = '\n';
> +		pos += scnprintf(buf + pos, buf_size - pos, "0x%.4x 
> %16ph\n",
> +				 ofs, ptr + ofs);
>  	}
>  
>  	ret = simple_read_from_buffer(user_buf, count, ppos, buf, 
> pos);
> diff --git a/drivers/net/wireless/iwlwifi/mvm/debugfs.c 
> b/drivers/net/wireless/iwlwifi/mvm/debugfs.c
> index ffb4b5c..98abd31 100644
> --- a/drivers/net/wireless/iwlwifi/mvm/debugfs.c
> +++ b/drivers/net/wireless/iwlwifi/mvm/debugfs.c
> @@ -1200,12 +1200,7 @@ static ssize_t iwl_dbgfs_d3_sram_read(struct 
> file *file, char __user *user_buf,
>  	if (ptr) {
>  		for (ofs = 0; ofs < len; ofs += 16) {
>  			pos += scnprintf(buf + pos, bufsz - pos,
> -					 "0x%.4x ", ofs);
> -			hex_dump_to_buffer(ptr + ofs, 16, 16, 1, buf 
> + pos,
> -					   bufsz - pos, false);
> -			pos += strlen(buf + pos);
> -			if (bufsz - pos > 0)
> -				buf[pos++] = '\n';
> +					 "0x%.4x %16ph\n", ofs, ptr 
> + ofs);
>  		}
>  	} else {
>  		pos += scnprintf(buf + pos, bufsz - pos,
Emmanuel Grumbach Aug. 4, 2015, 11:48 a.m. UTC | #2
On Tue, Aug 4, 2015 at 1:47 PM, Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
> On Thu, 2015-07-16 at 15:42 +0300, Andy Shevchenko wrote:
>> There is no need to use hex_dump_to_buffer() in the cases like this:
>>
>>       hexdump_to_buffer(buf, len, 16, 1, outbuf, outlen, false);      > /* len <= 16
>> */
>>       sprintf("%s\n", outbuf);
>>
>> since it maybe easily converted to simple:
>>
>>       sprintf("%*ph\n", len, buf);
>>
>> Note: it seems in one case the output is groupped by 2 bytes and
>> looks like a
>> typo. Thus, patch changes that to plain byte stream.
>
>
> Any comments on this, anyone?
>
> The idea is to minimize usage of hexdump_to_buffer(), i.e. not using it
> when it's an obvious overkill.
>

Sorry for the delay, since the buffer is small (less than 16 bytes, it
should be fine).
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Emmanuel Grumbach Aug. 4, 2015, 11:52 a.m. UTC | #3
On Tue, Aug 4, 2015 at 2:48 PM, Emmanuel Grumbach <egrumbach@gmail.com> wrote:
> On Tue, Aug 4, 2015 at 1:47 PM, Andy Shevchenko
> <andriy.shevchenko@linux.intel.com> wrote:
>> On Thu, 2015-07-16 at 15:42 +0300, Andy Shevchenko wrote:
>>> There is no need to use hex_dump_to_buffer() in the cases like this:
>>>
>>>       hexdump_to_buffer(buf, len, 16, 1, outbuf, outlen, false);      > /* len <= 16
>>> */
>>>       sprintf("%s\n", outbuf);
>>>
>>> since it maybe easily converted to simple:
>>>
>>>       sprintf("%*ph\n", len, buf);
>>>
>>> Note: it seems in one case the output is groupped by 2 bytes and
>>> looks like a
>>> typo. Thus, patch changes that to plain byte stream.
>>
>>
>> Any comments on this, anyone?
>>
>> The idea is to minimize usage of hexdump_to_buffer(), i.e. not using it
>> when it's an obvious overkill.
>>
>
> Sorry for the delay, since the buffer is small (less than 16 bytes, it
> should be fine).

I applied it on our internal tree. Thank you.
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/net/wireless/iwlwifi/dvm/debugfs.c b/drivers/net/wireless/iwlwifi/dvm/debugfs.c
index 0ffb6ff..b15e44f 100644
--- a/drivers/net/wireless/iwlwifi/dvm/debugfs.c
+++ b/drivers/net/wireless/iwlwifi/dvm/debugfs.c
@@ -310,12 +310,8 @@  static ssize_t iwl_dbgfs_nvm_read(struct file *file,
 	pos += scnprintf(buf + pos, buf_size - pos,
 			 "NVM version: 0x%x\n", nvm_ver);
 	for (ofs = 0 ; ofs < eeprom_len ; ofs += 16) {
-		pos += scnprintf(buf + pos, buf_size - pos, "0x%.4x ", ofs);
-		hex_dump_to_buffer(ptr + ofs, 16 , 16, 2, buf + pos,
-				   buf_size - pos, 0);
-		pos += strlen(buf + pos);
-		if (buf_size - pos > 0)
-			buf[pos++] = '\n';
+		pos += scnprintf(buf + pos, buf_size - pos, "0x%.4x %16ph\n",
+				 ofs, ptr + ofs);
 	}
 
 	ret = simple_read_from_buffer(user_buf, count, ppos, buf, pos);
diff --git a/drivers/net/wireless/iwlwifi/mvm/debugfs.c b/drivers/net/wireless/iwlwifi/mvm/debugfs.c
index ffb4b5c..98abd31 100644
--- a/drivers/net/wireless/iwlwifi/mvm/debugfs.c
+++ b/drivers/net/wireless/iwlwifi/mvm/debugfs.c
@@ -1200,12 +1200,7 @@  static ssize_t iwl_dbgfs_d3_sram_read(struct file *file, char __user *user_buf,
 	if (ptr) {
 		for (ofs = 0; ofs < len; ofs += 16) {
 			pos += scnprintf(buf + pos, bufsz - pos,
-					 "0x%.4x ", ofs);
-			hex_dump_to_buffer(ptr + ofs, 16, 16, 1, buf + pos,
-					   bufsz - pos, false);
-			pos += strlen(buf + pos);
-			if (bufsz - pos > 0)
-				buf[pos++] = '\n';
+					 "0x%.4x %16ph\n", ofs, ptr + ofs);
 		}
 	} else {
 		pos += scnprintf(buf + pos, bufsz - pos,