summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabio Estevam <festevam@nabladev.com>2026-07-29 16:28:30 -0300
committerVinod Koul <vkoul@kernel.org>2026-08-06 21:48:29 +0530
commitbb82e4327a39a17a9338413554b11b328ced0ffd (patch)
tree799fa30b00c796e9c538eb1e07f97db6a92704db
parentc3b0bb15ef001703b00d79bc4928e7421e24280d (diff)
downloadlinux-bb82e4327a39a17a9338413554b11b328ced0ffd.tar.gz
linux-bb82e4327a39a17a9338413554b11b328ced0ffd.zip
phy: freescale: fsl-samsung-hdmi: Balance runtime PM operations
fsl_samsung_hdmi_phy_probe() enables runtime PM, but the remove callback does not disable it. Unbinding and rebinding the device therefore results in the following warning on reprobe: Unbalanced pm_runtime_enable! Disable runtime PM after removing the clock provider. Also undo the runtime PM operations when phy_clk_register() fails. Otherwise, a failed probe leaves runtime PM enabled and the usage counter incremented. Signed-off-by: Fabio Estevam <festevam@nabladev.com> Link: https://patch.msgid.link/20260729192830.487150-1-festevam@gmail.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
-rw-r--r--drivers/phy/freescale/phy-fsl-samsung-hdmi.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/phy/freescale/phy-fsl-samsung-hdmi.c b/drivers/phy/freescale/phy-fsl-samsung-hdmi.c
index d010fec15671..0f25d81de61b 100644
--- a/drivers/phy/freescale/phy-fsl-samsung-hdmi.c
+++ b/drivers/phy/freescale/phy-fsl-samsung-hdmi.c
@@ -679,12 +679,15 @@ static int fsl_samsung_hdmi_phy_probe(struct platform_device *pdev)
return 0;
register_clk_failed:
+ pm_runtime_disable(phy->dev);
+ pm_runtime_put_noidle(phy->dev);
return ret;
}
static void fsl_samsung_hdmi_phy_remove(struct platform_device *pdev)
{
of_clk_del_provider(pdev->dev.of_node);
+ pm_runtime_disable(&pdev->dev);
}
static int __maybe_unused fsl_samsung_hdmi_phy_suspend(struct device *dev)