]> git.sur5r.net Git - u-boot/commitdiff
net: rtl8169: Build warning fixes for 64-bit
authorStephen Warren <swarren@nvidia.com>
Fri, 2 Oct 2015 23:44:34 +0000 (17:44 -0600)
committerJoe Hershberger <joe.hershberger@ni.com>
Thu, 29 Oct 2015 19:05:47 +0000 (14:05 -0500)
Casting from dev->priv to pci_dev_t changes the value's size on a 64-bit
system. This causes the compiler to complain about casting a pointer to an
integer of a different (smaller) size. To avoid this, cast to an integer
of matching size first, then perform an int->int cast to perform the size
change. This signals explicitly that we do want to change the size, and
avoids the compiler warning. This is legitimate since we know the pointer
actually stores a small integer, not a pointer value.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
drivers/net/rtl8169.c

index ebd46b27e5fdeda6e2e543b2e652802d745cd1ec..19422c4a2ace79892d942be0cab3345b76aa4f69 100644 (file)
@@ -581,7 +581,8 @@ int rtl8169_eth_recv(struct udevice *dev, int flags, uchar **packetp)
 #else
 static int rtl_recv(struct eth_device *dev)
 {
-       return rtl_recv_common((pci_dev_t)dev->priv, dev->iobase, NULL);
+       return rtl_recv_common((pci_dev_t)(unsigned long)dev->priv,
+                              dev->iobase, NULL);
 }
 #endif /* nCONFIG_DM_ETH */
 
@@ -666,8 +667,8 @@ int rtl8169_eth_send(struct udevice *dev, void *packet, int length)
 #else
 static int rtl_send(struct eth_device *dev, void *packet, int length)
 {
-       return rtl_send_common((pci_dev_t)dev->priv, dev->iobase, packet,
-                              length);
+       return rtl_send_common((pci_dev_t)(unsigned long)dev->priv,
+                              dev->iobase, packet, length);
 }
 #endif
 
@@ -846,7 +847,8 @@ RESET - Finish setting up the ethernet interface
 ***************************************************************************/
 static int rtl_reset(struct eth_device *dev, bd_t *bis)
 {
-       rtl8169_common_start((pci_dev_t)dev->priv, dev->enetaddr);
+       rtl8169_common_start((pci_dev_t)(unsigned long)dev->priv,
+                            dev->enetaddr);
 
        return 0;
 }