net: bcmgenet: Use get_unligned_beXX() and put_unaligned_beXX()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 20 Apr 2020 21:51:20 +0000 (00:51 +0300)
committerDavid S. Miller <davem@davemloft.net>
Mon, 20 Apr 2020 23:24:53 +0000 (16:24 -0700)
It's convenient to use get_unligned_beXX() and put_unaligned_beXX() helpers
to get or set MAC instead of open-coded variants.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/genet/bcmgenet.c

index 86666e9ab3e768f56134970a3580455d2275743c..2c9881032a24baa914b90285bf3d954af1161522 100644 (file)
@@ -2702,9 +2702,8 @@ static void bcmgenet_umac_reset(struct bcmgenet_priv *priv)
 static void bcmgenet_set_hw_addr(struct bcmgenet_priv *priv,
                                 unsigned char *addr)
 {
-       bcmgenet_umac_writel(priv, (addr[0] << 24) | (addr[1] << 16) |
-                       (addr[2] << 8) | addr[3], UMAC_MAC0);
-       bcmgenet_umac_writel(priv, (addr[4] << 8) | addr[5], UMAC_MAC1);
+       bcmgenet_umac_writel(priv, get_unaligned_be32(&addr[0]), UMAC_MAC0);
+       bcmgenet_umac_writel(priv, get_unaligned_be16(&addr[4]), UMAC_MAC1);
 }
 
 static void bcmgenet_get_hw_addr(struct bcmgenet_priv *priv,
@@ -2713,13 +2712,9 @@ static void bcmgenet_get_hw_addr(struct bcmgenet_priv *priv,
        u32 addr_tmp;
 
        addr_tmp = bcmgenet_umac_readl(priv, UMAC_MAC0);
-       addr[0] = addr_tmp >> 24;
-       addr[1] = (addr_tmp >> 16) & 0xff;
-       addr[2] = (addr_tmp >>  8) & 0xff;
-       addr[3] = addr_tmp & 0xff;
+       put_unaligned_be32(addr_tmp, &addr[0]);
        addr_tmp = bcmgenet_umac_readl(priv, UMAC_MAC1);
-       addr[4] = (addr_tmp >> 8) & 0xff;
-       addr[5] = addr_tmp & 0xff;
+       put_unaligned_be16(addr_tmp, &addr[4]);
 }
 
 /* Returns a reusable dma control register value */