]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
phy: qcom-qmp-usb: disable runtime PM on unbind
authorJohan Hovold <johan+linaro@kernel.org>
Wed, 7 Sep 2022 11:07:21 +0000 (13:07 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 21 Oct 2022 10:38:45 +0000 (12:38 +0200)
[ Upstream commit e57655e66806750785f9121c98a962404d02395b ]

Make sure to disable runtime PM also on driver unbind.

Fixes: ac0d239936bd ("phy: qcom-qmp: Add support for runtime PM").
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20220907110728.19092-10-johan+linaro@kernel.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/phy/qualcomm/phy-qcom-qmp-usb.c

index 1d270356a97f6720af2835345f0e623cf58dc8cb..1eb4ec576361d459abb7b72591c209c533b40d22 100644 (file)
@@ -2704,7 +2704,9 @@ static int qcom_qmp_phy_usb_probe(struct platform_device *pdev)
                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.
@@ -2738,13 +2740,10 @@ static int qcom_qmp_phy_usb_probe(struct platform_device *pdev)
        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;
 }