phy: rockhip-usb: use devm_add_action_or_reset()
authorSudip Mukherjee <sudipm.mukherjee@gmail.com>
Sun, 3 Jul 2016 21:01:06 +0000 (22:01 +0100)
committerKishon Vijay Abraham I <kishon@ti.com>
Mon, 4 Jul 2016 12:37:39 +0000 (18:07 +0530)
If devm_add_action() fails we are explicitly calling the cleanup to free
the resources allocated.  Lets use the helper devm_add_action_or_reset()
and return directly in case of error, as we know that the cleanup function
has been already called by the helper if there was any error.

Signed-off-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
drivers/phy/phy-rockchip-usb.c

index e66b5bf3605f4c54313015fc3e55d19c1937a8bc..2a7381f4fe4c81598188a14e7a9bbcd76f0fed16 100644 (file)
@@ -236,9 +236,10 @@ static int rockchip_usb_phy_init(struct rockchip_usb_phy_base *base,
                        goto err_clk_prov;
        }
 
-       err = devm_add_action(base->dev, rockchip_usb_phy_action, rk_phy);
+       err = devm_add_action_or_reset(base->dev, rockchip_usb_phy_action,
+                                      rk_phy);
        if (err)
-               goto err_devm_action;
+               return err;
 
        rk_phy->phy = devm_phy_create(base->dev, child, &ops);
        if (IS_ERR(rk_phy->phy)) {
@@ -256,9 +257,6 @@ static int rockchip_usb_phy_init(struct rockchip_usb_phy_base *base,
        else
                return rockchip_usb_phy_power(rk_phy, 1);
 
-err_devm_action:
-       if (!rk_phy->uart_enabled)
-               of_clk_del_provider(child);
 err_clk_prov:
        if (!rk_phy->uart_enabled)
                clk_unregister(rk_phy->clk480m);