if (ret)
                return ret;
 
-       plat_dat = stmmac_probe_config_dt(pdev, stmmac_res.mac);
+       plat_dat = devm_stmmac_probe_config_dt(pdev, stmmac_res.mac);
        if (IS_ERR(plat_dat))
                return PTR_ERR(plat_dat);
 
 
        ret = mediatek_dwmac_clks_config(priv_plat, true);
        if (ret)
-               goto err_remove_config_dt;
+               return ret;
 
        ret = stmmac_dvr_probe(&pdev->dev, plat_dat, &stmmac_res);
        if (ret)
 
 err_drv_probe:
        mediatek_dwmac_clks_config(priv_plat, false);
-err_remove_config_dt:
-       stmmac_remove_config_dt(pdev, plat_dat);
 
        return ret;
 }
 {
        struct mediatek_dwmac_plat_data *priv_plat = get_stmmac_bsp_priv(&pdev->dev);
 
-       stmmac_pltfr_remove(pdev);
+       stmmac_pltfr_remove_no_dt(pdev);
        mediatek_dwmac_clks_config(priv_plat, false);
 }