diff options
author | Vladimir Oltean <vladimir.oltean@nxp.com> | 2021-06-29 20:53:15 +0300 |
---|---|---|
committer | Ramon Fried <rfried.dev@gmail.com> | 2021-07-06 05:22:41 +0300 |
commit | cd8817ac73bab6fd352b93bbd675cc50083f241d (patch) | |
tree | da944af56422a89dcb54e9de1414aeb07a424a73 /drivers/net | |
parent | bec7d5342d031ddfc4558aaafc1e6e63e5652917 (diff) | |
download | u-boot-cd8817ac73bab6fd352b93bbd675cc50083f241d.zip u-boot-cd8817ac73bab6fd352b93bbd675cc50083f241d.tar.gz u-boot-cd8817ac73bab6fd352b93bbd675cc50083f241d.tar.bz2 |
net: enetc: require a PHY device when probing
Given that even a fixed-link has an associated phy_device, there is no
reason to operate in a mode when dm_eth_phy_connect fails.
Remove the driver checks for a NULL priv->phy and just return -ENODEV
when that happens.
Copyright updated according to corporate requirements.
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/fsl_enetc.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/drivers/net/fsl_enetc.c b/drivers/net/fsl_enetc.c index f6fc780..9c198a1 100644 --- a/drivers/net/fsl_enetc.c +++ b/drivers/net/fsl_enetc.c @@ -1,7 +1,7 @@ // SPDX-License-Identifier: GPL-2.0+ /* * ENETC ethernet controller driver - * Copyright 2017-2019 NXP + * Copyright 2017-2021 NXP */ #include <common.h> @@ -281,21 +281,20 @@ static void enetc_start_pcs(struct udevice *dev) } /* Configure the actual/external ethernet PHY, if one is found */ -static void enetc_config_phy(struct udevice *dev) +static int enetc_config_phy(struct udevice *dev) { struct enetc_priv *priv = dev_get_priv(dev); int supported; priv->phy = dm_eth_phy_connect(dev); - if (!priv->phy) - return; + return -ENODEV; supported = PHY_GBIT_FEATURES | SUPPORTED_2500baseX_Full; priv->phy->supported &= supported; priv->phy->advertising &= supported; - phy_config(priv->phy); + return phy_config(priv->phy); } /* @@ -335,9 +334,8 @@ static int enetc_probe(struct udevice *dev) dm_pci_clrset_config16(dev, PCI_COMMAND, 0, PCI_COMMAND_MEMORY); enetc_start_pcs(dev); - enetc_config_phy(dev); - return 0; + return enetc_config_phy(dev); } /* @@ -550,8 +548,7 @@ static int enetc_start(struct udevice *dev) enetc_setup_mac_iface(dev); - if (priv->phy) - phy_startup(priv->phy); + phy_startup(priv->phy); return 0; } |