]> git.ipfire.org Git - thirdparty/kernel/linux.git/blobdiff - net/ethernet/eth.c
eth: fwnode: add a helper for loading netdev->dev_addr
[thirdparty/kernel/linux.git] / net / ethernet / eth.c
index 29447a61d3ec96b035a3104a29e846e214f82086..d7b8fa10fabb266071eb05d7ecb0ab03a5d6c6fe 100644 (file)
@@ -617,3 +617,23 @@ int device_get_mac_address(struct device *dev, char *addr)
        return fwnode_get_mac_address(dev_fwnode(dev), addr);
 }
 EXPORT_SYMBOL(device_get_mac_address);
+
+/**
+ * device_get_ethdev_address - Set netdev's MAC address from a given device
+ * @dev:       Pointer to the device
+ * @netdev:    Pointer to netdev to write the address to
+ *
+ * Wrapper around device_get_mac_address() which writes the address
+ * directly to netdev->dev_addr.
+ */
+int device_get_ethdev_address(struct device *dev, struct net_device *netdev)
+{
+       u8 addr[ETH_ALEN];
+       int ret;
+
+       ret = device_get_mac_address(dev, addr);
+       if (!ret)
+               eth_hw_addr_set(netdev, addr);
+       return ret;
+}
+EXPORT_SYMBOL(device_get_ethdev_address);