phy: rockchip-inno-usb2: Make use of the helper function devm_add_action_or_reset()
authorCai Huoqing <caihuoqing@baidu.com>
Wed, 22 Sep 2021 13:00:23 +0000 (21:00 +0800)
committerVinod Koul <vkoul@kernel.org>
Fri, 1 Oct 2021 10:24:23 +0000 (15:54 +0530)
The helper function devm_add_action_or_reset() will internally
call devm_add_action(), and gif devm_add_action() fails then it will
execute the action mentioned and return the error code. So
use devm_add_action_or_reset() instead of devm_add_action()
to simplify the error handling, reduce the code.

Signed-off-by: Cai Huoqing <caihuoqing@baidu.com>
Link: https://lore.kernel.org/r/20210922130024.745-1-caihuoqing@baidu.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/phy/rockchip/phy-rockchip-inno-usb2.c

index 4f569d9..1938365 100644 (file)
@@ -321,7 +321,7 @@ rockchip_usb2phy_clk480m_register(struct rockchip_usb2phy *rphy)
        struct device_node *node = rphy->dev->of_node;
        struct clk_init_data init;
        const char *clk_name;
-       int ret;
+       int ret = 0;
 
        init.flags = 0;
        init.name = "clk_usbphy_480m";
@@ -352,15 +352,8 @@ rockchip_usb2phy_clk480m_register(struct rockchip_usb2phy *rphy)
        if (ret < 0)
                goto err_clk_provider;
 
-       ret = devm_add_action(rphy->dev, rockchip_usb2phy_clk480m_unregister,
-                             rphy);
-       if (ret < 0)
-               goto err_unreg_action;
-
-       return 0;
+       return devm_add_action_or_reset(rphy->dev, rockchip_usb2phy_clk480m_unregister, rphy);
 
-err_unreg_action:
-       of_clk_del_provider(node);
 err_clk_provider:
        clk_unregister(rphy->clk480m);
 err_ret: