[U-Boot] [PATCH 3/5] driver: usb: Fix pointer conversion warnings for hikey

Prabhakar Kushwaha prabhakar at freescale.com
Sun Oct 25 08:48:41 CET 2015


Fix below compilation warings happening for hikey_defconfig

drivers/usb/eth/smsc95xx.c:698:56: warning: cast from pointer to integer
of different size [-Wpointer-to-int-cast]
  debug("** %s(), len %d, buf %#x\n", __func__, length, (int)msg);
                                                        ^
include/common.h:109:26: note: in definition of macro ‘debug_cond’
    printf(pr_fmt(fmt), ##args); \
                          ^
drivers/usb/eth/smsc95xx.c:698:2: note: in expansion of macro ‘debug’
  debug("** %s(), len %d, buf %#x\n", __func__, length, (int)msg);
  ^
drivers/usb/eth/smsc95xx.c:718:2: warning: format ‘%u’ expects argument of
type ‘unsigned int’, but argument 2 has type ‘long unsigned int’ [-Wformat=]
  debug("Tx: len = %u, actual = %u, err = %d\n",
  ^
drivers/usb/eth/smsc95xx.c: In function ‘smsc95xx_recv’:
drivers/usb/eth/smsc95xx.c:802:19: warning: cast from pointer to integer
of different size [-Wpointer-to-int-cast]
   cur_buf_align = (int)buf_ptr - (int)recv_buf;
                   ^
drivers/usb/eth/smsc95xx.c:802:34: warning: cast from pointer to integer
of different size [-Wpointer-to-int-cast]
   cur_buf_align = (int)buf_ptr - (int)recv_buf;

Signed-off-by: Prabhakar Kushwaha <prabhakar at freescale.com>
---
 drivers/usb/eth/smsc95xx.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/usb/eth/smsc95xx.c b/drivers/usb/eth/smsc95xx.c
index dc8fa88..378aed4 100644
--- a/drivers/usb/eth/smsc95xx.c
+++ b/drivers/usb/eth/smsc95xx.c
@@ -695,7 +695,8 @@ static int smsc95xx_send_common(struct ueth_data *dev, void *packet, int length)
 	ALLOC_CACHE_ALIGN_BUFFER(unsigned char, msg,
 				 PKTSIZE + sizeof(tx_cmd_a) + sizeof(tx_cmd_b));
 
-	debug("** %s(), len %d, buf %#x\n", __func__, length, (int)msg);
+	debug("** %s(), len %d, buf %#x\n", __func__, length,
+	      (unsigned int)(ulong)msg);
 	if (length > PKTSIZE)
 		return -ENOSPC;
 
@@ -716,8 +717,8 @@ static int smsc95xx_send_common(struct ueth_data *dev, void *packet, int length)
 				&actual_len,
 				USB_BULK_SEND_TIMEOUT);
 	debug("Tx: len = %u, actual = %u, err = %d\n",
-	      length + sizeof(tx_cmd_a) + sizeof(tx_cmd_b),
-	      actual_len, err);
+	      (unsigned int)(length + sizeof(tx_cmd_a) + sizeof(tx_cmd_b)),
+	      (unsigned int)actual_len, err);
 
 	return err;
 }
@@ -799,7 +800,7 @@ static int smsc95xx_recv(struct eth_device *eth)
 		/* Adjust for next iteration */
 		actual_len -= sizeof(packet_len) + packet_len;
 		buf_ptr += sizeof(packet_len) + packet_len;
-		cur_buf_align = (int)buf_ptr - (int)recv_buf;
+		cur_buf_align = (ulong)buf_ptr - (ulong)recv_buf;
 
 		if (cur_buf_align & 0x03) {
 			int align = 4 - (cur_buf_align & 0x03);
-- 
1.9.1




More information about the U-Boot mailing list