]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
net: Fix mcast function pointer prototype
authorClaudiu Manoil <claudiu.manoil@freescale.com>
Mon, 30 Sep 2013 09:44:39 +0000 (12:44 +0300)
committerJoe Hershberger <joe.hershberger@ni.com>
Fri, 22 Nov 2013 22:57:13 +0000 (16:57 -0600)
This fixes the following compiler warnings when activating
CONFIG_MCAST_TFTP:

tsec.c: In function 'tsec_mcast_addr':
tsec.c:130:2: warning: passing argument 2 of 'ether_crc' makes pointer
from integer without a cast [enabled by default]
In file included from /work/u-boot-net/include/common.h:874:0,
                 from tsec.c:15:
/work/u-boot-net/include/net.h:189:5: note: expected 'const unsigned
char *' but argument is of type 'u8'
tsec.c: In function 'tsec_initialize':
tsec.c:646:13: warning: assignment from incompatible pointer type
[enabled by default]
eth.c: In function 'eth_mcast_join':
eth.c:358:2: warning: passing argument 2 of 'eth_current->mcast' makes
integer from pointer without a cast [enabled by default]
eth.c:358:2: note: expected 'u32' but argument is of type 'u8 *'

In the eth_mcast_join() implementation, eth_current->mcast()
takes a u8 pointer to the multicast mac address and not a ip
address value as implied by its prototype.

Fix parameter type mismatch for tsec_macst_addr() (tsec.c):
ether_crc() takes a u8 pointer not a u8 value.
mcast() is given a u8 pointer to the multicats mac address.
Update parameter type for the rest of mcast() instances.

Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com>
Patch: 278989

drivers/net/rtl8139.c
drivers/net/tsec.c
include/net.h

index 4186699ff987a4158100ba486c7f2f100dd26a7a..208ce5ccc45426ea65e7443cd957318d076d0f53 100644 (file)
@@ -188,7 +188,7 @@ static int rtl_transmit(struct eth_device *dev, void *packet, int length);
 static int rtl_poll(struct eth_device *dev);
 static void rtl_disable(struct eth_device *dev);
 #ifdef CONFIG_MCAST_TFTP/*  This driver already accepts all b/mcast */
-static int rtl_bcast_addr (struct eth_device *dev, u8 bcast_mac, u8 set)
+static int rtl_bcast_addr(struct eth_device *dev, const u8 *bcast_mac, u8 set)
 {
        return (0);
 }
index f5e314b9ee06c366ae1360bc4b6b1f0452aa3eb6..3428dd0cf9ecbc0b435a307f992c4aaa683756bd 100644 (file)
@@ -120,14 +120,14 @@ static void tsec_configure_serdes(struct tsec_private *priv)
  * for PowerPC (tm) is usually the case) in the tregister holds
  * the entry. */
 static int
-tsec_mcast_addr (struct eth_device *dev, u8 mcast_mac, u8 set)
+tsec_mcast_addr(struct eth_device *dev, const u8 *mcast_mac, u8 set)
 {
        struct tsec_private *priv = privlist[1];
        volatile tsec_t *regs = priv->regs;
        volatile u32  *reg_array, value;
        u8 result, whichbit, whichreg;
 
-       result = (u8)((ether_crc(MAC_ADDR_LEN,mcast_mac) >> 24) & 0xff);
+       result = (u8)((ether_crc(MAC_ADDR_LEN, mcast_mac) >> 24) & 0xff);
        whichbit = result & 0x1f;       /* the 5 LSB = which bit to set */
        whichreg = result >> 5;         /* the 3 MSB = which reg to set it in */
        value = (1 << (31-whichbit));
index 5aedc17aa6dc36ea6600d2c24e3d011c9c140226..0802fad8761364d97f04a799e91d01ca4cd2eb06 100644 (file)
@@ -89,7 +89,7 @@ struct eth_device {
        int  (*recv) (struct eth_device *);
        void (*halt) (struct eth_device *);
 #ifdef CONFIG_MCAST_TFTP
-       int (*mcast) (struct eth_device *, u32 ip, u8 set);
+       int (*mcast) (struct eth_device *, const u8 *enetaddr, u8 set);
 #endif
        int  (*write_hwaddr) (struct eth_device *);
        struct eth_device *next;