net: ftmac100: add an opportunity to get ethaddr from the platform
This driver always generated a random ethernet address. Leave it as a fallback solution, but add a call to platform_get_ethdev_address(). Handle EPROBE_DEFER returned from platform_get_ethdev_address() to retry when EEPROM is ready. Signed-off-by: Sergei Antonov <saproj@gmail.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Link: https://lore.kernel.org/r/20220824151724.2698107-1-saproj@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
8532c60efc
commit
f7650d82e7
@ -1077,6 +1077,10 @@ static int ftmac100_probe(struct platform_device *pdev)
|
|||||||
netdev->netdev_ops = &ftmac100_netdev_ops;
|
netdev->netdev_ops = &ftmac100_netdev_ops;
|
||||||
netdev->max_mtu = MAX_PKT_SIZE;
|
netdev->max_mtu = MAX_PKT_SIZE;
|
||||||
|
|
||||||
|
err = platform_get_ethdev_address(&pdev->dev, netdev);
|
||||||
|
if (err == -EPROBE_DEFER)
|
||||||
|
goto defer_get_mac;
|
||||||
|
|
||||||
platform_set_drvdata(pdev, netdev);
|
platform_set_drvdata(pdev, netdev);
|
||||||
|
|
||||||
/* setup private data */
|
/* setup private data */
|
||||||
@ -1138,6 +1142,7 @@ err_ioremap:
|
|||||||
release_resource(priv->res);
|
release_resource(priv->res);
|
||||||
err_req_mem:
|
err_req_mem:
|
||||||
netif_napi_del(&priv->napi);
|
netif_napi_del(&priv->napi);
|
||||||
|
defer_get_mac:
|
||||||
free_netdev(netdev);
|
free_netdev(netdev);
|
||||||
err_alloc_etherdev:
|
err_alloc_etherdev:
|
||||||
return err;
|
return err;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user