Commit c29dc2d7 authored by Shawn Guo's avatar Shawn Guo

net: fec: handle optional clk_ptp more gracefully

When the optional clk_ptp is absent, we can just set it to NULL, and
clk API will just handle it gracefully.  It saves us from checking
clk_ptp whenever calling into clk API.

Also since clk_ptp is optional, the "ret" variable shouldn't be set
in case that the clock is absent.
Signed-off-by: default avatarShawn Guo <shawn.guo@linaro.org>
Acked-by: default avatarDavid S. Miller <davem@davemloft.net>
parent e933a1a1
...@@ -1806,14 +1806,13 @@ fec_probe(struct platform_device *pdev) ...@@ -1806,14 +1806,13 @@ fec_probe(struct platform_device *pdev)
fep->bufdesc_ex = fep->bufdesc_ex =
pdev->id_entry->driver_data & FEC_QUIRK_HAS_BUFDESC_EX; pdev->id_entry->driver_data & FEC_QUIRK_HAS_BUFDESC_EX;
if (IS_ERR(fep->clk_ptp)) { if (IS_ERR(fep->clk_ptp)) {
ret = PTR_ERR(fep->clk_ptp); fep->clk_ptp = NULL;
fep->bufdesc_ex = 0; fep->bufdesc_ex = 0;
} }
clk_prepare_enable(fep->clk_ahb); clk_prepare_enable(fep->clk_ahb);
clk_prepare_enable(fep->clk_ipg); clk_prepare_enable(fep->clk_ipg);
if (!IS_ERR(fep->clk_ptp)) clk_prepare_enable(fep->clk_ptp);
clk_prepare_enable(fep->clk_ptp);
reg_phy = devm_regulator_get(&pdev->dev, "phy"); reg_phy = devm_regulator_get(&pdev->dev, "phy");
if (!IS_ERR(reg_phy)) { if (!IS_ERR(reg_phy)) {
...@@ -1878,8 +1877,7 @@ fec_probe(struct platform_device *pdev) ...@@ -1878,8 +1877,7 @@ fec_probe(struct platform_device *pdev)
failed_regulator: failed_regulator:
clk_disable_unprepare(fep->clk_ahb); clk_disable_unprepare(fep->clk_ahb);
clk_disable_unprepare(fep->clk_ipg); clk_disable_unprepare(fep->clk_ipg);
if (!IS_ERR(fep->clk_ptp)) clk_disable_unprepare(fep->clk_ptp);
clk_disable_unprepare(fep->clk_ptp);
failed_pin: failed_pin:
failed_clk: failed_clk:
iounmap(fep->hwp); iounmap(fep->hwp);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment