diff mbox

[v1,1/1] ISDN: eicon: replace custom hex_dump_to_buffer()

Message ID 20161022173705.170520-1-andriy.shevchenko@linux.intel.com
State Changes Requested, archived
Delegated to: David Miller
Headers show

Commit Message

Andy Shevchenko Oct. 22, 2016, 5:37 p.m. UTC
Instead of custom approach re-use generic helper to convert bytes to hex
format.

The output is slightly changed, namely string starts from the first dword
value.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/isdn/hardware/eicon/message.c | 34 ++++------------------------------
 1 file changed, 4 insertions(+), 30 deletions(-)

Comments

David Miller Oct. 26, 2016, 9:27 p.m. UTC | #1
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Date: Sat, 22 Oct 2016 20:37:05 +0300

> Instead of custom approach re-use generic helper to convert bytes to hex

> format.

> 

> The output is slightly changed, namely string starts from the first dword

> value.

> 

> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>


This adds a warning.

Really, if you're not even going to check if the compiler warns
when you try to "clean up" such ancient drivers like this one,
don't even bother.

drivers/isdn/hardware/eicon/message.c: In function ‘dump_c_ind_mask’:
drivers/isdn/hardware/eicon/message.c:1156:22: warning: passing argument 1 of ‘hex_dump_to_buffer’ makes pointer from integer without a cast [-Wint-conversion]
   hex_dump_to_buffer(plci->c_ind_mask_table[i], j, 16, 4, buf, sizeof(buf), false);
                      ^~~~
In file included from ./include/linux/kernel.h:13:0,
                 from ./include/linux/list.h:8,
                 from ./include/linux/module.h:9,
                 from drivers/isdn/hardware/eicon/platform.h:21,
                 from drivers/isdn/hardware/eicon/message.c:30:
./include/linux/printk.h:457:12: note: expected ‘const void *’ but argument is of type ‘u32 {aka unsigned int}’
 extern int hex_dump_to_buffer(const void *buf, size_t len, int rowsize,
            ^~~~~~~~~~~~~~~~~~
diff mbox

Patch

diff --git a/drivers/isdn/hardware/eicon/message.c b/drivers/isdn/hardware/eicon/message.c
index 1a1d997..8684899 100644
--- a/drivers/isdn/hardware/eicon/message.c
+++ b/drivers/isdn/hardware/eicon/message.c
@@ -1147,45 +1147,19 @@  static byte test_c_ind_mask_bit(PLCI *plci, word b)
 
 static void dump_c_ind_mask(PLCI *plci)
 {
-	word i, j, k;
-	dword d;
-	char *p;
+	word i, j;
 	char buf[40];
 
 	for (i = 0; i < C_IND_MASK_DWORDS; i += 4)
 	{
-		p = buf + 36;
-		*p = '\0';
-		for (j = 0; j < 4; j++)
-		{
-			if (i + j < C_IND_MASK_DWORDS)
-			{
-				d = plci->c_ind_mask_table[i + j];
-				for (k = 0; k < 8; k++)
-				{
-					*(--p) = hex_asc_lo(d);
-					d >>= 4;
-				}
-			}
-			else if (i != 0)
-			{
-				for (k = 0; k < 8; k++)
-					*(--p) = ' ';
-			}
-			*(--p) = ' ';
-		}
-		dbug(1, dprintf("c_ind_mask =%s", (char *) p));
+		j = min_t(word, C_IND_MASK_DWORDS - i, 4) * 4;
+		hex_dump_to_buffer(plci->c_ind_mask_table[i], j, 16, 4, buf, sizeof(buf), false);
+		dbug(1, dprintf("c_ind_mask =%s", buf));
 	}
 }
 
-
-
-
-
 #define dump_plcis(a)
 
-
-
 /*------------------------------------------------------------------*/
 /* translation function for each message                            */
 /*------------------------------------------------------------------*/