提交 0f6a6701 编写于 作者: A Antoine Ténart 提交者: David S. Miller

net: spider_net: do not read mac address again after setting it

This patch removes the spider_net_get_mac_address() call at the end of
the spider_net_set_mac() function. The dev->dev_addr is instead updated
with a memcpy() from sa->sa_data.

Since spider_net_get_mac_address() is not used anywhere else, this patch
also removes the function.
Signed-off-by: NAntoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 3a67c9cc
...@@ -266,34 +266,6 @@ spider_net_set_promisc(struct spider_net_card *card) ...@@ -266,34 +266,6 @@ spider_net_set_promisc(struct spider_net_card *card)
} }
} }
/**
* spider_net_get_mac_address - read mac address from spider card
* @card: device structure
*
* reads MAC address from GMACUNIMACU and GMACUNIMACL registers
*/
static int
spider_net_get_mac_address(struct net_device *netdev)
{
struct spider_net_card *card = netdev_priv(netdev);
u32 macl, macu;
macl = spider_net_read_reg(card, SPIDER_NET_GMACUNIMACL);
macu = spider_net_read_reg(card, SPIDER_NET_GMACUNIMACU);
netdev->dev_addr[0] = (macu >> 24) & 0xff;
netdev->dev_addr[1] = (macu >> 16) & 0xff;
netdev->dev_addr[2] = (macu >> 8) & 0xff;
netdev->dev_addr[3] = macu & 0xff;
netdev->dev_addr[4] = (macl >> 8) & 0xff;
netdev->dev_addr[5] = macl & 0xff;
if (!is_valid_ether_addr(&netdev->dev_addr[0]))
return -EINVAL;
return 0;
}
/** /**
* spider_net_get_descr_status -- returns the status of a descriptor * spider_net_get_descr_status -- returns the status of a descriptor
* @descr: descriptor to look at * @descr: descriptor to look at
...@@ -1345,6 +1317,8 @@ spider_net_set_mac(struct net_device *netdev, void *p) ...@@ -1345,6 +1317,8 @@ spider_net_set_mac(struct net_device *netdev, void *p)
if (!is_valid_ether_addr(addr->sa_data)) if (!is_valid_ether_addr(addr->sa_data))
return -EADDRNOTAVAIL; return -EADDRNOTAVAIL;
memcpy(netdev->dev_addr, addr->sa_data, ETH_ALEN);
/* switch off GMACTPE and GMACRPE */ /* switch off GMACTPE and GMACRPE */
regvalue = spider_net_read_reg(card, SPIDER_NET_GMACOPEMD); regvalue = spider_net_read_reg(card, SPIDER_NET_GMACOPEMD);
regvalue &= ~((1 << 5) | (1 << 6)); regvalue &= ~((1 << 5) | (1 << 6));
...@@ -1364,12 +1338,6 @@ spider_net_set_mac(struct net_device *netdev, void *p) ...@@ -1364,12 +1338,6 @@ spider_net_set_mac(struct net_device *netdev, void *p)
spider_net_set_promisc(card); spider_net_set_promisc(card);
/* look up, whether we have been successful */
if (spider_net_get_mac_address(netdev))
return -EADDRNOTAVAIL;
if (memcmp(netdev->dev_addr,addr->sa_data,netdev->addr_len))
return -EADDRNOTAVAIL;
return 0; return 0;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册