if (err < 0)
                goto disable_clks;
 
-       plat = stmmac_probe_config_dt(pdev, res.mac);
+       plat = devm_stmmac_probe_config_dt(pdev, res.mac);
        if (IS_ERR(plat)) {
                err = PTR_ERR(plat);
                goto disable_clks;
                                                   GFP_KERNEL);
                if (!plat->mdio_bus_data) {
                        err = -ENOMEM;
-                       goto remove;
+                       goto disable_clks;
                }
        }
 
                                 500, 500 * 2000);
        if (err < 0) {
                dev_err(mgbe->dev, "timeout waiting for TX lane to become enabled\n");
-               goto remove;
+               goto disable_clks;
        }
 
        plat->serdes_powerup = mgbe_uphy_lane_bringup_serdes_up;
 
        err = stmmac_dvr_probe(&pdev->dev, plat, &res);
        if (err < 0)
-               goto remove;
+               goto disable_clks;
 
        return 0;
 
-remove:
-       stmmac_remove_config_dt(pdev, plat);
 disable_clks:
        clk_bulk_disable_unprepare(ARRAY_SIZE(mgbe_clks), mgbe->clks);
 
 
        clk_bulk_disable_unprepare(ARRAY_SIZE(mgbe_clks), mgbe->clks);
 
-       stmmac_pltfr_remove(pdev);
+       stmmac_pltfr_remove_no_dt(pdev);
 }
 
 static const struct of_device_id tegra_mgbe_match[] = {