static int temac_init_mac_address(struct net_device *ndev, void *address) { memcpy(ndev->dev_addr, address, ETH_ALEN); if (!is_valid_ether_addr(ndev->dev_addr)) eth_hw_addr_random(ndev); temac_do_set_mac_address(ndev); return 0; }
static int temac_init_mac_address(struct net_device *ndev, const void *address) { ether_addr_copy(ndev->dev_addr, address); if (!is_valid_ether_addr(ndev->dev_addr)) eth_hw_addr_random(ndev); temac_do_set_mac_address(ndev); return 0; }
static int temac_set_mac_address(struct net_device *ndev, void *p) { struct sockaddr *addr = p; if (!is_valid_ether_addr(addr->sa_data)) return -EADDRNOTAVAIL; memcpy(ndev->dev_addr, addr->sa_data, ETH_ALEN); temac_do_set_mac_address(ndev); return 0; }