net: tile: Use helpers from linux/etherdevice.h to check/set MAC
authorTobias Klauser <tklauser@distanz.ch>
Fri, 30 May 2014 07:47:17 +0000 (09:47 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sat, 31 May 2014 00:06:23 +0000 (17:06 -0700)
Use is_zero_ether_addr() to check for the MAC address being all zeros instead of
open coding the check.

Also use ether_addr_copy() instead of a manual memcpy() to set the
netdev->dev_addr.

Furthermore, get rid of a redundant assignment of netdev->addr_len. This is
already set by ether_setup() which is called in tile_net_setup().

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Acked-by: Chris Metcalf <cmetcalf@tilera.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/tile/tilegx.c

index 7e1c91d..7d80d2e 100644 (file)
@@ -2192,7 +2192,6 @@ static void tile_net_dev_init(const char *name, const uint8_t *mac)
 {
        int ret;
        int i;
-       int nz_addr = 0;
        struct net_device *dev;
        struct tile_net_priv *priv;
 
@@ -2223,15 +2222,10 @@ static void tile_net_dev_init(const char *name, const uint8_t *mac)
         * be done before the device is opened.  If the MAC is all zeroes,
         * we use a random address, since we're probably on the simulator.
         */
-       for (i = 0; i < 6; i++)
-               nz_addr |= mac[i];
-
-       if (nz_addr) {
-               memcpy(dev->dev_addr, mac, ETH_ALEN);
-               dev->addr_len = 6;
-       } else {
+       if (!is_zero_ether_addr(mac))
+               ether_addr_copy(dev->dev_addr, mac);
+       else
                eth_hw_addr_random(dev);
-       }
 
        /* Register the network device. */
        ret = register_netdev(dev);