]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
phy: rockchip: naneng-combphy: compatible reset with old DT
authorChukun Pan <amadeus@jmu.edu.cn>
Mon, 6 Jan 2025 10:00:01 +0000 (18:00 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 7 Mar 2025 17:25:36 +0000 (18:25 +0100)
[ Upstream commit 3126ea9be66b53e607f87f067641ba724be24181 ]

The device tree of RK3568 did not specify reset-names before.
So add fallback to old behaviour to be compatible with old DT.

Fixes: fbcbffbac994 ("phy: rockchip: naneng-combphy: fix phy reset")
Cc: Jianfeng Liu <liujianfeng1994@gmail.com>
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Reviewed-by: Jonas Karlman <jonas@kwiboo.se>
Link: https://lore.kernel.org/r/20250106100001.1344418-2-amadeus@jmu.edu.cn
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/phy/rockchip/phy-rockchip-naneng-combphy.c

index 2eb3329ca23f676ad6deb5fb8e98d288b913d890..1ef6d9630f7e09a9d359b9ceddb80f056d4bc78a 100644 (file)
@@ -309,7 +309,10 @@ static int rockchip_combphy_parse_dt(struct device *dev, struct rockchip_combphy
 
        priv->ext_refclk = device_property_present(dev, "rockchip,ext-refclk");
 
-       priv->phy_rst = devm_reset_control_get(dev, "phy");
+       priv->phy_rst = devm_reset_control_get_exclusive(dev, "phy");
+       /* fallback to old behaviour */
+       if (PTR_ERR(priv->phy_rst) == -ENOENT)
+               priv->phy_rst = devm_reset_control_array_get_exclusive(dev);
        if (IS_ERR(priv->phy_rst))
                return dev_err_probe(dev, PTR_ERR(priv->phy_rst), "failed to get phy reset\n");