Merge tag 'phy-for-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy
[linux-block.git] / drivers / net / ethernet / freescale / fman / fman_memac.c
index 587ad81a2dc3293b77d6e702b144b6d47ac4aff0..625c79d5636fbd0c4ad54c7a1e0fadfa77ed776a 100644 (file)
@@ -1155,13 +1155,12 @@ int memac_initialization(struct mac_device *mac_dev,
        else
                memac->sgmii_pcs = pcs;
 
-       memac->serdes = devm_of_phy_get(mac_dev->dev, mac_node, "serdes");
-       err = PTR_ERR(memac->serdes);
-       if (err == -ENODEV || err == -ENOSYS) {
+       memac->serdes = devm_of_phy_optional_get(mac_dev->dev, mac_node,
+                                                "serdes");
+       if (!memac->serdes) {
                dev_dbg(mac_dev->dev, "could not get (optional) serdes\n");
-               memac->serdes = NULL;
        } else if (IS_ERR(memac->serdes)) {
-               dev_err_probe(mac_dev->dev, err, "could not get serdes\n");
+               err = PTR_ERR(memac->serdes);
                goto _return_fm_mac_free;
        }