return -ENOMEM;
 
        pm_runtime_set_active(dev);
-       pm_runtime_enable(dev);
+       ret = devm_pm_runtime_enable(dev);
+       if (ret)
+               return ret;
        /*
         * Prevent runtime pm from being ON by default. Users can enable
         * it using power/control in sysfs.
        phy_provider = devm_of_phy_provider_register(dev, of_phy_simple_xlate);
        if (!IS_ERR(phy_provider))
                dev_info(dev, "Registered Qcom-QMP phy\n");
-       else
-               pm_runtime_disable(dev);
 
        return PTR_ERR_OR_ZERO(phy_provider);
 
 err_node_put:
-       pm_runtime_disable(dev);
        of_node_put(child);
        return ret;
 }